2012-07-03 4 views
1

블랙 베리 애플리케이션을 작성하고 있습니다. 애플리케이션을 시작한 후에 데이터베이스에서 .class 파일 (또는 .COD 파일과 같은 다른 파일)을 가져와야합니다. (아마도 파일을 가져올 웹 페이지를 만들어야 할 것입니다.) 그리고 나서 그것을 인스턴스화하고 메서드를 호출합니다. 아무도 도와 줄 수 있습니까? 부디?!?블랙 베리 애플리케이션에서 .class 파일이 주어진 객체를 인스턴스화합니다.

요점은 학생들이 휴대 전화에서 코드를 얻고 방법이 무엇을 반환하는지 볼 수있게하는 것입니다. 교사는 정수를 반환하는 간단한 프로그래밍 방법을 작성합니다. 학생들은 해당 방법을 응용 프로그램에 적용 할 수 있어야합니다. 그들은 코드를보고 메소드가 반환 할 것으로 기대하는 것을 입력 할 수 있습니다. 그런 다음 메서드가 반환하는 메서드를 볼 수 있도록 메서드를 실행할 수 있어야합니다.

기본적으로 나는 내 블랙 베리에 아직없는 일부 코드를 단위 테스트 할 수 있기를 원합니다. 당신은 ASP.NET, C# 또는 Visual Basic을 학습하는 경우 블랙 베리 (C 및 VB.NET)에 대한 .NET :

는 내가이 작업을 수행 할 수있는 방법과 유사한 무언가를 응용 프로그램 ...에 대한 고라를 보았다. NET을 사용하는 경우이 응용 프로그램을 사용하면 BlackBerry에 코드를 입력하고 초 단위로 출력을 볼 수 있습니다. PC에서 Visual Studio를 실행하지 않고도 .NET 코드 의 스 니펫을 시험해 볼 수있는 훌륭한 방법입니다.

이 애플리케이션으로 작성된 코드는 원격 서버에 저장되므로 다른 기기에서 불러 와서이 앱의 다른 사용자와 공유 할 수 있습니다.

+2

일부 코드를 추가하거나 예를 들어 설명해보십시오. 당신의 질문은 이해하기 어렵습니다. –

답변

1

BlackBerry JVM은 리플렉션을 지원하지 않지만 응용 프로그램이 모두 기본 응용 프로그램에 정의 된 클래스를 확장하고 다운로드 한 소프트웨어에서 해당 클래스의 정규화 된 이름을 파생시킬 수 있다면 비슷한 것을 할 수 있습니다 그런 다음

abstract public class MyDemoObject { 
    abstract public void myDemoMethod(); 
} 

:

package org.some.sample 

public class ClassName extends MyDemoObject { 
    public void myDemoMethod() { 
     System.out.println("package org.some.sample.myDemoMethod()"); 
    } 
} 
: 다운로드 한 응용 프로그램에서

Class class = Class.forName("org.some.sample.ClassName"); 
MyDemoObject obj = (MyDemoObject)class.newInstance(); 
obj.myDemoMethod(); 

어색하지만 작동하지 않는 종류입니다. myDemoMethod는 기본 응용 프로그램의 컨텍스트에서 실행되며 이는 BlackBerry OS 용 프로그래밍에 대해 배우기에는 좋지 않은 교훈이 아닙니다.

+0

해명 해 주셔서 감사합니다 –

+0

답변 해 주셔서 감사합니다. 어떻게 클래스를 패키지에 추가합니까? 그 학생이 응용 프로그램을 실행하고 데이터베이스에서 클래스를 다운로드 한 다음 해당 클래스에서 메서드를 실행하고 응용 프로그램에 결과를 표시하도록합니다 ... – abiNerd

+0

클래스는 org.some.sample 패키지와 함께 패키지에 저장됩니다. 선. 자바에서 패키지는 실제로는 이름 공간 속기입니다. BlackBerry OS 장치에 코드를 설치하는 유일한 방법은 COD로 컴파일하는 것입니다. CodeModuleManager를 사용하여 COD를 구현할 수는 있지만 브라우저와 JAD 파일/COD 파일 쌍을 사용하여 무선 설치를 수행하는 것이 좋습니다. 브라우저에는 설치된 COD 파일을 연결하는 데 필요한 소프트웨어 및 권한이 있습니다. – Richard

1

학생들이 OTA를 다운로드 할 수 있도록 서버에 응용 프로그램 바이너리를 넣어야한다고 생각합니다. (http://blackberrystorm.wikidot.com/setup-blackberry-ota-applications)

그러면 글로벌 이벤트를 사용하여 앱과 다른 앱간에 통신 할 수 있습니다. (http://www.blackberry.com/knowledgecenterpublic/livelink.exe/fetch/2000/348583/800332/800620/What_Is_-_Global_Events_and_Global_Event_Listeners.html?nodeid=800527&vernum=0)

실시간으로 다른 앱의 다른 앱에서 액세스하는 방법이 기기에서 실시간으로 가능하다고 생각하지 않습니다.

+0

좋습니다. 웹에서 특정 앱을 다운로드하고 실행하는 공통 시작 프로그램을 만들 수 있습니다. 특정 앱이 특정 클래스를 만들 수 있습니다. –

+0

나는 서버에서 전체 응용 프로그램을 필요로하지 않는다 ... 나는 단지 클래스가 필요하다 ... 단지 메서드 일 뿐이다. 그리고 메소드 결과를 애플리케이션에 표시한다 ... 기본적으로 내 블랙 베리 응용 프로그램의 단위 테스트 방법 ... 가능합니까? – abiNerd

+0

해킹이있는 경우에도 BB가이를 수행 할 수 있는지 확신 할 수 없습니다. 서버에서 메소드를 실행하고 결과를 디바이스로 리턴하는 것을 고려 했습니까? 이 방법으로 BB 장치는 터미널처럼 작동합니다. –