Essayer de mettre en œuvre la campagne de GitHub.Aucune erreur de code, App se bloque, beaucoup d'erreurs de LogCat

StackOverflow https://stackoverflow.com//questions/20026563

Question

Il semble que je demande quelque chose qui a été demandé dans le passé, mais personne d'autre n'a réussi à obtenir une réponse pour, donc les doigts croisés.

J'essaie de mettre en œuvre Le camping de Github . Cependant, cela ne semble pas fonctionner. J'avais essayé 2 sorties possible de la mettre en œuvre (au moins je pense qu'il y en avait 3).

  1. premier consistait à ajouter le code de campagne dans mon application et En plus de cela implémenter le code de dossier d'échantillon (n'a pas fonctionné)
  2. le second était en quelque sorte changer le code de fragmentactivité à Activité (Havent a essayé que)
  3. Troisième était d'importer le code de campagne en tant que bibliothèque. je pense C'était la bonne façon de le faire, donc j'ai énuméré les étapes i ont fait pour le faire fonctionner.

    1. J'ai d'abord créé un nouveau projet Android appelé CountryPickerApp et mis en œuvre le code à partir du dossier d'échantillonnage trouvé dans ce référentiel de campagne. Voici le code de MainActivity.class:

       package com.example.countrypickerapp;
       import android.os.Bundle;
       import android.support.v4.app.FragmentActivity;
       import android.support.v4.app.FragmentManager;
       import android.support.v4.app.FragmentTransaction;
       import android.view.Menu;
       import android.view.MenuItem;
       import android.view.MenuItem.OnMenuItemClickListener;
       import android.widget.Toast;
      
       import com.countrypicker.CountryPicker;
       import com.countrypicker.CountryPickerListener;
      
       public class MainActivity extends FragmentActivity {
      
        @Override
        protected void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.activity_main);
      
          FragmentManager manager = getSupportFragmentManager();
          FragmentTransaction transaction = manager.beginTransaction();
      
          CountryPicker picker = new CountryPicker();
          picker.setListener(new CountryPickerListener() {
      
              @Override
              public void onSelectCountry(String name, String code) {
                  Toast.makeText(
                          MainActivity.this,
                          "Country Name: " + name + " - Code: " + code
                                  + " - Currency: "
                                  + CountryPicker.getCurrencyCode(code),
                          Toast.LENGTH_SHORT).show();
              }
          });
      
          transaction.replace(R.id.home, picker);
      
          transaction.commit();
      
      }
      
      @Override
      public boolean onCreateOptionsMenu(Menu menu) {
          // Inflate the menu; this adds items to the action bar if it is present.
          getMenuInflater().inflate(R.menu.main, menu);
          MenuItem item = menu.findItem(R.id.show_dialog);
          item.setOnMenuItemClickListener(new OnMenuItemClickListener() {
      
              @Override
              public boolean onMenuItemClick(MenuItem item) {
                  CountryPicker picker = CountryPicker.newInstance("Select Country");
                  picker.setListener(new CountryPickerListener() {
      
                      @Override
                      public void onSelectCountry(String name, String code) {
                          Toast.makeText(
                                  MainActivity.this,
                                  "Country Name: " + name + " - Code: " + code
                                          + " - Currency: "
                                          + CountryPicker.getCurrencyCode(code),
                                  Toast.LENGTH_SHORT).show();
                      }
                  });
      
                  picker.show(getSupportFragmentManager(), "COUNTRY_PICKER");
                  return false;
              }
          });
          return true;
      }
      

      }

    2. Voici le code du fichier androidmanifest.xml

      <?xml version="1.0" encoding="utf-8"?>
      <manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.example.countrypickerapp"
       android:versionCode="1"
       android:versionName="1.0" >
      
      <uses-sdk
          android:minSdkVersion="8"
          android:targetSdkVersion="18" />
      
      <application
          android:allowBackup="true"
          android:icon="@drawable/ic_launcher"
          android:label="@string/app_name"
          android:theme="@style/AppTheme" >
          <activity
             android:name="com.example.countrypickerapp.Main1Activity"
              android:label="@string/app_name" android:parentActivityName="@string/title_activity_main1">
              <intent-filter>
                  <action android:name="android.intent.action.MAIN" />
      
                  <category android:name="android.intent.category.LAUNCHER" />
              </intent-filter>
          </activity>
          <activity
             android:name="com.example.countrypickerapp.MainActivity"
             android:label="@string/title_activity_main1" >
          </activity>
      </application>
      
      </manifest>
      
    3. Autant que j'ai compris le dossier principal (CountryPicker) devait être importé comme une bibliothèque, donc j'ai suivi ces étapes:

    4. File->New->Other
      Select Android Project
      Select "Create Project from existing source"
      Click "Browse..." button and navigate to johannilsson-android-actionbar\actionbar
      Finish (Now action bar project in your workspace)
      Right-click on your project -> Properties
      In Android->Library section click Add
      select recently added project -> Ok
      
      1. et voici la liste des erreurs de journal logcat:

        11-17 02:06:37.320: I/SurfaceTextureClient(9657): [STC::queueBuffer] this:0x4fa637f8, api:1, last queue time elapsed :5603 ms
        11-17 02:06:37.321: I/SurfaceTextureClient(9657): [0x4fa637f8] frames:2, duration:5.603000, fps:0.356932
        11-17 02:06:37.325: W/MMUMapper(9657): fail to register MVA, unsupported format(0x5)
        11-17 02:06:37.413: W/ActionMenuPresenter(9657): showOverflowMenu fail, mReserveOverflow=true, mMenu.getNonActionItems().size()=1, isOverflowMenuShowing()=false
        11-17 02:06:37.476: W/MMUMapper(9657): fail to register MVA, unsupported format(0x5)
        11-17 02:06:37.490: W/MMUMapper(9657): fail to register MVA, unsupported format(0x5)
        11-17 02:06:37.510: W/MMUMapper(9657): fail to register MVA, unsupported format(0x5)
        11-17 02:06:38.094: W/MMUMapper(9657): invalid operation for unregister MVA with VA(0x52b85000) size(57344) f(0x5)
        11-17 02:06:38.094: W/MMUMapper(9657): invalid operation for unregister MVA with VA(0x52cec000) size(57344) f(0x5)
        11-17 02:06:38.095: W/MMUMapper(9657): invalid operation for unregister MVA with VA(0x52cfa000) size(57344) f(0x5)
        11-17 02:06:38.102: W/InputEventReceiver(9657): Attempted to finish an input event but the input event receiver has already been disposed.
        11-17 02:06:40.889: W/MMUMapper(9657): invalid operation for unregister MVA with VA(0x528cf000) size(614400) f(0x5)
        11-17 02:06:40.890: W/MMUMapper(9657): invalid operation for unregister MVA with VA(0x52d6d000) size(614400) f(0x5)
        11-17 02:06:40.890: W/MMUMapper(9657): invalid operation for unregister MVA with VA(0x52aa9000) size(614400) f(0x5)
        11-17 02:10:40.214: E/Trace(10401): error opening trace file: No such file or directory (2)
        11-17 02:10:40.316: W/dalvikvm(10401): Unable to resolve superclass of Lcom/example/countrypickerapp/MainActivity; (11)
        11-17 02:10:40.316: W/dalvikvm(10401): Link of class 'Lcom/example/countrypickerapp/MainActivity;' failed
        11-17 02:10:40.317: E/dalvikvm(10401): Could not find class 'com.example.countrypickerapp.MainActivity', referenced from method com.example.countrypickerapp.Main1Activity$1.onClick
        11-17 02:10:40.317: W/dalvikvm(10401): VFY: unable to resolve const-class 57 (Lcom/example/countrypickerapp/MainActivity;) in Lcom/example/countrypickerapp/Main1Activity$1;
        11-17 02:10:40.505: W/MMUMapper(10401): fail to register MVA, unsupported format(0x5)
        11-17 02:10:40.615: W/MMUMapper(10401): fail to register MVA, unsupported format(0x5)
        11-17 02:10:42.480: I/SurfaceTextureClient(10401): [0x4fa637f8] frames:2, duration:1.945000, fps:1.027828
        11-17 02:10:42.499: W/MMUMapper(10401): fail to register MVA, unsupported format(0x5)
        11-17 02:10:42.619: W/dalvikvm(10401): threadid=1: thread exiting with uncaught exception (group=0x41269908)
        11-17 02:10:42.638: E/AndroidRuntime(10401): FATAL EXCEPTION: main
        11-17 02:10:42.638: E/AndroidRuntime(10401): java.lang.NoClassDefFoundError: com.example.countrypickerapp.MainActivity
        11-17 02:10:42.638: E/AndroidRuntime(10401): at com.example.countrypickerapp.Main1Activity$1.onClick(Main1Activity.java:22)
        11-17 02:10:42.638: E/AndroidRuntime(10401): at android.view.View.performClick(View.java:4091)
        11-17 02:10:42.638: E/AndroidRuntime(10401): at android.view.View$PerformClick.run(View.java:17072)
        11-17 02:10:42.638: E/AndroidRuntime(10401): at android.os.Handler.handleCallback(Handler.java:615)
        11-17 02:10:42.638: E/AndroidRuntime(10401): at android.os.Handler.dispatchMessage(Handler.java:92)
        11-17 02:10:42.638: E/AndroidRuntime(10401): at android.os.Looper.loop(Looper.java:153)
        11-17 02:10:42.638: E/AndroidRuntime(10401): at android.app.ActivityThread.main(ActivityThread.java:5037)
        11-17 02:10:42.638: E/AndroidRuntime(10401): at java.lang.reflect.Method.invokeNative(Native Method)
        11-17 02:10:42.638: E/AndroidRuntime(10401): at java.lang.reflect.Method.invoke(Method.java:511)
        11-17 02:10:42.638: E/AndroidRuntime(10401): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:825)
        11-17 02:10:42.638: E/AndroidRuntime(10401): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:588)
        11-17 02:10:42.638: E/AndroidRuntime(10401): at dalvik.system.NativeStart.main(Native Method)
        
      2. Additonally, j'ai ajouté une activité supplémentaire appelée MainActivity1 qui a un bouton, qui, lorsque vous avez cliqué, redirige vers la mainagivité dans laquelle CountryPicker est implémenté.

        J'espère que j'ai bien expliqué mon problème et que je serai une solution, une pointe, un indice ou tout ce qui pourrait me rapprocher de le faire fonctionner. Je sais que j'aurais pu réimplémenter tout cela à partir de zéro à l'aide de différentes méthodes, mais je ne vois pas un point de réinventer quelque chose qui a déjà été mis en œuvre et téléchargé pour le partage, à part l'apprentissage de quelque chose de nouveau bien sûr.

Était-ce utile?

La solution

Votre manifeste déclare Activité principale 1 (espace ajouté pour mettre en surbrillance le numérique 1) mais votre fichier de classe est MainActivity.java sans le 1 !!:)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top