2015-02-01 2 views
1

IOS (ipad 등 ...)로 안드로이드 앱을 포팅하고 google에서 j2objc를 찾았습니다. j2objc에 대한 많은 논의가 있으며 어떻게 작동하고 가능한지 알아낼 수 없습니다. (저는 처음부터 응용 프로그램을 포팅 한 다음 마법 변환기를 믿는 것이 가장 좋을 것이라고 생각합니다.) 그러나 이것에 대해서도 살펴보고 싶습니다 :-))실용적인 사례로 j2objc에 대한 컨설팅

쇼케이스에서 어떻게 작동하는지 이해하고 싶습니다. (추상 수준)

변환기가 다음 경우에 도움이 되나요?

SQLite 데이터베이스에 액세스하고 ArrayList JavaClass 인스턴스 (Tasks.java)에 데이터를로드하는 javacode가 있습니다. - 프로 시저 loaddata(); (loader.java)

ArrayList<Task> alTask=new ArrayList<Task>(); 
Cursor c = sqlitedatabase.rawQuery(sSQL, null); 
c.moveToFirst(); 

while (!c.isAfterLast()) { 
    Task t=new Task(); 
    t.setname(c.getString(0)); 
    .. 
    .. 
    alTask.add(t); 
} 

return alTask; 
  • 클래스 작업 (Task.java)

    클래스 작업 { 문자열 SNAME = ""; .. .. ArrayList alSubtasks; }

난 그냥 어떻게 든 내 iOS 앱으로 그들을 결박, 내 자바 클래스를 변환하고 바로 변환 loaddata를 사용할 수하는 IOS 앱의 목록에있는 작업을 보여 드리고자 경우()를 사용하는 IOS UI-List에 표시 할 새 Array (IOS 구문)? (IOS의 UI-List I woulc 코드는 처음부터 IOS에서 나온 것입니다.)

답변

2

일반적인 생각이지만, 불행히도 SQLite는 휴대용이 아닌 android.database API를 사용하기 때문에 좋지 않습니다.

아직 구현되지 않은 request for a portable SQLite library이 있습니다. 사용 가능한 경우 알림을 받으려면 별표 아이콘을 클릭하십시오.

문제는 완전한 기능을 갖춘 라이브러리에는 많은 원시 코드가 필요하지만 실제로는 대부분의 앱이 몇 가지 방법 만 사용한다는 것입니다. Here's an email thread on a way for a developer to implement just the necessary SQLite support methods.

+0

고맙습니다. 도움이됩니다. –

0

가장 쉬운 방법은 Android와 iOS 플랫폼간에 이식 가능한 SQLite 구현을 사용하는 것입니다. j2objc 도구 세트 \ 라이브러리에서 지원되지 않습니다.

그래서 문제가 발생했을 때이를 해결하기위한 솔루션을 개발했습니다 : https://github.com/vals-productions/sqlighter.

자바로 코드를 작성하고 객관적인 c로 변환하거나 두 언어 모두에서 매우 비슷하게 보이는 "병렬"코딩을 수행 할 수 있습니다. Readme에는 몇 가지 예제가 포함되어 있습니다.

아직 많은 제작 시간이 없지만 간단하고 충분히 작동합니다.