Tratando de implementar el paisano de GitHub.No hay errores en el código, se bloquea la aplicación, muchos errores de logcat
-
21-12-2019 - |
Pregunta
Parece que estoy preguntando algo que se le ha preguntado en el pasado, pero nadie más logró obtener una respuesta, por lo tanto, los dedos se cruzaron.
Estoy tratando de implementar el pais de GitHub . Sin embargo, no parece funcionar. Había intentado 2 de las 3 formas posibles de implementarlo (al menos creo que hubo 3).
- primero fue agregar el código de paisano dentro de mi solicitud y Además de eso implementar el código de carpeta de muestra (no funciona)
- segundo fue cambiar de alguna manera el código de fragmentación a actividad (no he intentado eso todavía)
- tercero fue importar el código de paisano como una biblioteca. creo Esa fue la forma correcta de hacerlo, por lo tanto, he enumerado los pasos I Lo han hecho para que funcione.
-
Primero he creado un nuevo proyecto Android llamado PaisPrapykerApp e implementó el código de la carpeta de muestra que se encuentra dentro de ese repositorio de paisajes. Aquí está el código para 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; }
}
-
Aquí está el código para el archivo 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>
-
En la medida en que entendí la carpeta principal (paisano), tuvo que ser importada como una biblioteca, así que seguí esos pasos:
-
y aquí está la lista de errores de registro de 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)
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
ADIGIPONALMENTE Añadido una actividad adicional llamada Mainactivity1, que tiene un botón, que cuando se hace clic en Redirigsan a la principal, se implementa RAPORICKER.
Espero haber explicado bien mi problema y obtendré una solución, consejo, sugerencia o cualquier cosa que pueda acercarse a que funcione. Sé que podría haberlo reembolsado todo desde cero con diferentes métodos, pero no veo un punto de reinventar algo que ya se ha implementado y cargado por compartir, además de aprender algo nuevo,
Solución
Su manifiesto declara principal 1 actividad (espacio agregado para resaltar el numérico 1) Pero su archivo de clase es Mainactivity.Java sin el 1 !!:)