2012-04-05 5 views
1

私のアプリケーションには、GreenDroidライブラリが追加されました。私はstartviewをGDActivityで拡張し、NFFApplicationを追加し、アプリケーションタグandroid:name=".logic.NFFApplication"のマニフェストに追加しました。その後のGreenDroidの実装

NFFAplication:

public class NFFApplication extends GDApplication { 

    @Override 
    public Class<?> getHomeActivityClass() { 
     return NFFApplication.class; 
    } 

    @Override 
    public Intent getMainApplicationIntent() { 
     return new Intent(NFFApplication.this,MainView.class); 
    } 

} 

ログイン・アクティビティー:

public class LoginView extends GDActivity { 

    private ProgressDialog pd = null; 
    Editor editor = null; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    // TODO Auto-generated method stub 
    super.onCreate(savedInstanceState); 
    setTitle("Movie"); 
    setActionBarContentView(R.layout.loginlayout); 

LogCat:

04-05 16:12:16.714: E/AndroidRuntime(443): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.korn.nff/com.korn.nff.view.LoginView}: android.view.InflateException: Binary XML file line #27: Error inflating class greendroid.widget.ActionBar 
04-05 16:12:16.714: E/AndroidRuntime(443): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2496) 
04-05 16:12:16.714: E/AndroidRuntime(443): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2512) 
04-05 16:12:16.714: E/AndroidRuntime(443): at android.app.ActivityThread.access$2200(ActivityThread.java:119) 
04-05 16:12:16.714: E/AndroidRuntime(443): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1863) 
04-05 16:12:16.714: E/AndroidRuntime(443): at android.os.Handler.dispatchMessage(Handler.java:99) 
04-05 16:12:16.714: E/AndroidRuntime(443): at android.os.Looper.loop(Looper.java:123) 
04-05 16:12:16.714: E/AndroidRuntime(443): at android.app.ActivityThread.main(ActivityThread.java:4363) 
04-05 16:12:16.714: E/AndroidRuntime(443): at java.lang.reflect.Method.invokeNative(Native Method) 
04-05 16:12:16.714: E/AndroidRuntime(443): at java.lang.reflect.Method.invoke(Method.java:521) 
04-05 16:12:16.714: E/AndroidRuntime(443): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860) 
04-05 16:12:16.714: E/AndroidRuntime(443): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618) 
04-05 16:12:16.714: E/AndroidRuntime(443): at dalvik.system.NativeStart.main(Native Method) 
04-05 16:12:16.714: E/AndroidRuntime(443): Caused by: android.view.InflateException: Binary XML file line #27: Error inflating class greendroid.widget.ActionBar 
04-05 16:12:16.714: E/AndroidRuntime(443): at android.view.LayoutInflater.createView(LayoutInflater.java:513) 
04-05 16:12:16.714: E/AndroidRuntime(443): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:565) 
04-05 16:12:16.714: E/AndroidRuntime(443): at android.view.LayoutInflater.rInflate(LayoutInflater.java:618) 
04-05 16:12:16.714: E/AndroidRuntime(443): at android.view.LayoutInflater.inflate(LayoutInflater.java:407) 
04-05 16:12:16.714: E/AndroidRuntime(443): at android.view.LayoutInflater.inflate(LayoutInflater.java:320) 
04-05 16:12:16.714: E/AndroidRuntime(443): at android.view.LayoutInflater.inflate(LayoutInflater.java:276) 
04-05 16:12:16.714: E/AndroidRuntime(443): at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:198) 
04-05 16:12:16.714: E/AndroidRuntime(443): at android.app.Activity.setContentView(Activity.java:1622) 
04-05 16:12:16.714: E/AndroidRuntime(443): at greendroid.app.GDActivity.ensureLayout(GDActivity.java:187) 
04-05 16:12:16.714: E/AndroidRuntime(443): at greendroid.app.GDActivity.getActionBar(GDActivity.java:265) 
04-05 16:12:16.714: E/AndroidRuntime(443): at greendroid.app.GDActivity.setTitle(GDActivity.java:256) 
04-05 16:12:16.714: E/AndroidRuntime(443): at com.korn.nff.view.LoginView.onCreate(LoginView.java:39) 
04-05 16:12:16.714: E/AndroidRuntime(443): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 
04-05 16:12:16.714: E/AndroidRuntime(443): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2459) 
04-05 16:12:16.714: E/AndroidRuntime(443): ... 11 more 
04-05 16:12:16.714: E/AndroidRuntime(443): Caused by: java.lang.reflect.InvocationTargetException 
04-05 16:12:16.714: E/AndroidRuntime(443): at greendroid.widget.ActionBar.<init>(ActionBar.java:130) 
04-05 16:12:16.714: E/AndroidRuntime(443): at java.lang.reflect.Constructor.constructNative(Native Method) 
04-05 16:12:16.714: E/AndroidRuntime(443): at java.lang.reflect.Constructor.newInstance(Constructor.java:446) 
04-05 16:12:16.714: E/AndroidRuntime(443): at android.view.LayoutInflater.createView(LayoutInflater.java:500) 
04-05 16:12:16.714: E/AndroidRuntime(443): ... 24 more 
04-05 16:12:16.714: E/AndroidRuntime(443): Caused by: android.content.res.Resources$NotFoundException: File res/drawable-hdpi/title_bar_shadow.9.png from drawable resource ID #0x0 
04-05 16:12:16.714: E/AndroidRuntime(443): at android.content.res.Resources.loadDrawable(Resources.java:1710) 
04-05 16:12:16.714: E/AndroidRuntime(443): at android.content.res.TypedArray.getDrawable(TypedArray.java:548) 
04-05 16:12:16.714: E/AndroidRuntime(443): at android.view.View.<init>(View.java:1850) 
04-05 16:12:16.714: E/AndroidRuntime(443): at android.view.View.<init>(View.java:1799) 
04-05 16:12:16.714: E/AndroidRuntime(443): at android.view.ViewGroup.<init>(ViewGroup.java:284) 
04-05 16:12:16.714: E/AndroidRuntime(443): at android.widget.LinearLayout.<init>(LinearLayout.java:92) 
04-05 16:12:16.714: E/AndroidRuntime(443): at greendroid.widget.ActionBar.<init>(ActionBar.java:134) 
04-05 16:12:16.714: E/AndroidRuntime(443): ... 28 more 
04-05 16:12:16.714: E/AndroidRuntime(443): Caused by: java.io.FileNotFoundException: res/drawable-hdpi/title_bar_shadow.9.png 
04-05 16:12:16.714: E/AndroidRuntime(443): at android.content.res.AssetManager.openNonAssetNative(Native Method) 
04-05 16:12:16.714: E/AndroidRuntime(443): at android.content.res.AssetManager.openNonAsset(AssetManager.java:390) 
04-05 16:12:16.714: E/AndroidRuntime(443): at android.content.res.Resources.loadDrawable(Resources.java:1702) 

答えて

3

私よ、これは問題ですが、それはということができた場合は100%確実ではありませんあなたはテーマを無効にすることを忘れましたか? Greendroidは、アプリケーションを実行するためのカスタムテーマを必要とします。

ここgreendroidドキュメントの行です:あなたが従わなければならない

You finally need to make your project use the GreenDroid base theme. In your AndroidManifest.xml, go to the application tag and add android:theme="@style/Theme.GreenDroid" as a new attribute. 

ステップ:

  1. シンプルで、コンピュータ上のGreenDroidライブラリをダウンロード: クローンhttp://github.com/cyrilmottier/GreenDroid.gitをGitは。いつものように、Git はGreenDroidリポジトリを複製し、3つのフォルダを含むGreenDroid フォルダを作成します。 GreenDroid:コアライブラリ。これは主にコードにリンクされるコードです GreenDroid-GoogleAPIs:Google API関連の機能を含むGreenDroidの拡張機能(GDMapActivityなど) GDCatalog:デモンストレーションアプリケーション。このプロジェクトには、GreenDroidの使い方を示す多くのスニペットコードが含まれています。

  2. ADTプラグインは、ライブラリプロジェクトを扱うための驚くべき新機能である を追加しました。 GreenDroidを使用するには、アプリケーションにライブラリとしてGreenDroidプロジェクトを適用する があります。 ライブラリプロジェクトの使用方法の完全な説明は、 Androidドキュメントウェブサイトに記載されています。旧バージョンの ツールとプラットフォームのリリースでは、 ライブラリプロジェクトでのビルドがサポートされていないため、開発中の 環境で最新のツールとプラットフォームが使用されていることを確認してください。

  3. いくつかのGoogle API機能を使用する場合は、GreenDroid-GoogleAPIsライブラリを使用して であることを確認してください。 GreenDroid-GoogleAPIは、GreenDroidベースの です。その結果、AndroidライブラリとしてGreenDroid をプロジェクトにリンクする必要はありません。デフォルトでは、GreenDroid テーマは@android:style/Themeから継承されています。あなたのプロジェクトが別のテーマから を継承している場合は、 を自分で変更する必要があります(そして、 の更新によってすべての変更が削除されます) - を克服するためにGreenDroidを更新しています。問題)。 res/values/gd_themes.xmlと を開き、親のテーマ@android:style/Themeを自分のテーマに置き換えます。

  4. GreenDroidの機能(GDActivity、GDListActivityまたは例えば GDTabActivity)の多くは、そのアプリケーションがGDApplication クラスであることを確認して GDApplicationであるためにあなたのアプリケーションが必要です。これを行うには、 android:name = "greendroid.app.GDApplication( greendroid.app.GDApplicationは、 がGDApplicationから継承する独自のクラスに置き換えられます)を AndroidManifest.xmlのアプリケーションタグに追加するだけです。

  5. あなたは最終的にあなたのプロジェクトがGreenDroidベースのテーマを使うようにする必要があり、あなたのAndroidManifest.xmlで 、アプリケーションタグに移動して アンドロイドを追加します。テーマの新しい属性として=「@スタイル/ Theme.GreenDroid」 。

関連する問題