Как сделать простое приложение для Android с roboguice, который внедряет textView? - PullRequest
0 голосов
/ 09 июня 2011

Я новичок в внедрении зависимостей и робогисах.Я просто хочу иметь возможность вставлять представления и ресурсы в мое приложение.Проблема в том, что я получаю ClassNotFoundException, когда расширяю свой класс с помощью RoboActivity.

package tes.tes;
//imports
public class test extends RoboActivity {
/** Called when the activity is first created. */

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.main);
}

Вот трассировка стека:

  06-09 13:54:08.887: ERROR/AndroidRuntime(495): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{tes.tes/tes.tes.test}:java.lang.ClassNotFoundException: tes.tes.test in loader dalvik.system.PathClassLoader[/data/app/tes.tes-1.apk]
  06-09 13:54:08.887: ERROR/AndroidRuntime(495):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2585)
  06-09 13:54:08.887: ERROR/AndroidRuntime(495):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
...
  06-09 13:54:08.887: ERROR/AndroidRuntime(495): Caused by: java.lang.ClassNotFoundException: tes.tes.test in loader dalvik.system.PathClassLoader[/data/app/tes.tes-1.apk]
  06-09 13:54:08.887: ERROR/AndroidRuntime(495):     at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:243
...

и мой манифест

coding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="tes.tes"
      android:versionCode="1"
      android:versionName="1.0">


    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".test"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

    </application>
</manifest>

Я думаю, что с моими зависимостями все в порядке, так как я вижу jar-файлы для подсказок, роботов и т. Д. Я попытался следовать документации и загрузить пример кода, но это было слишком сложно для меня.Я не знаю, что мне не хватает.

Спасибо за помощь.

Ответы [ 3 ]

1 голос
/ 27 марта 2013

Я отправляю новый ответ, потому что RoboGuice 2.0 изменил способ, которым это работает. Теперь создайте XML-файл в файле res / values ​​/ с именем roboguice.xml. Перечислите там свои модули, например:

<?xml version="1.0" encoding="utf-8"?>
  <resources> 
    <string-array name="roboguice_modules">
    <item>com.example.CustomRenderModule</item>
    <item>com.you.yourmodule.TexModule</item>
  </string-array>
</resources>

Другой пример.

0 голосов
/ 10 июня 2011

Я следовал инструкции и использовал правильные соглашения об именах, и это сработало!

хотя эта строка

@Override
protected void addApplicationModules(List<Module> modules) {
    modules.add(new MyModule());
}

в MyApplication.java, который расширяет RoboApplication, содержит ошибки и говорит, что удалить @Override, а когда я удаляю @Override, он говорит, что он конфликтует с другим методом, расположенным в RoboApplication. Я не знаю почему.

0 голосов
/ 09 июня 2011

Вы неправильно расширяете приложение RoboApplication. Пожалуйста, подумайте о том, чтобы пройти полное руководство по установке RoboGuice

...