2015-04-27 2 views
-1

Я создаю приложение для Android, которое состоит из регистрации базы данных. В другом действии я поместил кнопку для извлечения данных из базы данных, отображаемой в текстовом представлении. Я сделал кое-что, чтобы сделать это, но он показал ошибку под названием NoClassDefFoundError. Пожалуйста, помогите мне с этим. Пожалуйста, извините, если есть ошибки. Заранее спасибо. Это моя основная деятельность:Как получить данные из базы данных и отобразить в текстовом виде в android

package com.developer.and; 


import android.app.Activity; 
import android.content.Intent; 
import android.os.Bundle; 

import android.view.Menu; 
import android.view.MenuItem; 
import android.view.View; 
import android.widget.Button; 

public class Modes extends Activity { 

    Button auto,manual,adminsettings; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.modes); 


     auto = (Button)findViewById(R.id.button_auto); 
     auto.setOnClickListener(new View.OnClickListener() { 

      public void onClick(View v) { 
       Intent auto = new Intent(Modes.this,Auto.class); 
       startActivity(auto); 
      } 
     }); 

     manual = (Button)findViewById(R.id.button_manualmode); 
     manual.setOnClickListener(new View.OnClickListener() { 

      public void onClick(View v) { 

       Intent manual = new Intent(Modes.this,Manual.class); 
       startActivity(manual); 

      } 
     }); 
     adminsettings = (Button)findViewById(R.id.button_Adminsettings); 

     savedInstanceState = getIntent().getExtras(); 
     if(savedInstanceState!=null){ 
      String value_username = savedInstanceState.getString("USERNAME"); //getting username key,value pairs sent from previous intents 

      String value_password = savedInstanceState.getString("PASSWORD"); //getting password key,value pairs sent from previous intents 

      if(value_username.equals("medequip") && value_password.equals("medequip")){ //Comparing username and password sent from previous intent activity to display admin settings button or not... 

      adminsettings.setVisibility(View.VISIBLE);       //setting visibility for a button 
      adminsettings.setOnClickListener(new View.OnClickListener() { 

       @Override 
       public void onClick(View v) { 
        Intent retriving_database = new Intent (Modes.this,AdminSettings.class); 
        startActivity(retriving_database); 

       } 
      }); 


      } 
      else 
      adminsettings.setVisibility(View.GONE); 
     } 

    } 

    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     // Inflate the menu; this adds items to the action bar if it is present. 
     getMenuInflater().inflate(R.menu.modes, menu); 
     return true; 
    } 

    @Override 
    public boolean onOptionsItemSelected(MenuItem item) { 
     // Handle action bar item clicks here. The action bar will 
     // automatically handle clicks on the Home/Up button, so long 
     // as you specify a parent activity in AndroidManifest.xml. 
     int id = item.getItemId(); 
     if (id == R.id.action_settings) { 
      return true; 
     } 
     return super.onOptionsItemSelected(item); 
    } 
} 

Это моя вторая деятельность, чтобы получить результаты базы данных

package com.developer.and; 

import android.database.Cursor; 
import android.os.Bundle; 
import android.support.v7.app.ActionBarActivity; 
import android.view.Menu; 
import android.view.MenuItem; 
import android.view.View; 
import android.widget.Button; 
import android.widget.TextView; 
import com.developer.milanandroid.LoginDataBaseAdapter; 

public class AdminSettings extends ActionBarActivity { 
    LoginDataBaseAdapter logindatabase_adapter_child; 
    Button fetch_database; 
    TextView text_fetched_database_results; 
    String username,password; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.admin_settings); 

     fetch_database = (Button)findViewById(R.id.Button_Fetch_Database); 
     fetch_database.setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       Cursor c = logindatabase_adapter_child.db.rawQuery("select * from MilanloginRegistration", null); 
       text_fetched_database_results.setText(""); 
       c.moveToFirst(); 
       do{ 
        username = c.getString(c.getColumnIndex("USERNAME")); 
        password = c.getString(1); 
        text_fetched_database_results.append("USERNAME::-->"+username+"PASSWORD::-->"+password+"\n"); 

       }while(c.moveToNext()); 
      } 
     }); 
    } 

    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     // Inflate the menu; this adds items to the action bar if it is present. 
     getMenuInflater().inflate(R.menu.admin_settings, menu); 
     return true; 
    } 

    @Override 
    public boolean onOptionsItemSelected(MenuItem item) { 
     // Handle action bar item clicks here. The action bar will 
     // automatically handle clicks on the Home/Up button, so long 
     // as you specify a parent activity in AndroidManifest.xml. 
     int id = item.getItemId(); 
     if (id == R.id.action_settings) { 
      return true; 
     } 
     return super.onOptionsItemSelected(item); 
    } 
} 

MainActivity.xml:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    tools:context="com.developer.and.Modes" > 

    <Button 
     android:id="@+id/button_Adminsettings" 
     android:layout_width="450dp" 
     android:layout_height="wrap_content" 
     android:layout_centerHorizontal="true" 
     android:layout_centerVertical="true" 
     android:text="@string/Adminsettings" /> 

</RelativeLayout> 

Это моя вторая активность XML:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    tools:context="com.developer.and.AdminSettings" > 

    <LinearLayout 
     android:id="@+id/linearLayout1" 
     android:layout_width="@dimen/Retriving_database_ll_width" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentTop="true" 
     android:orientation="vertical" > 

     <Button 
      android:id="@+id/Button_Fetch_Database" 
      style="?android:attr/buttonStyleSmall" 
      android:layout_width="@dimen/Retriving_database_Button_width" 
      android:layout_height="wrap_content" 
      android:text="@string/Retriving_database" /> 
    </LinearLayout> 

    <ScrollView 
     android:id="@+id/scrollView_db_contacts" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentRight="true" 
     android:layout_alignParentTop="true" 
     android:layout_toRightOf="@+id/linearLayout1" > 

     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:orientation="vertical" > 

      <TextView 
       android:id="@+id/textView_fetched_database_results" 
       android:layout_width="fill_parent" 
       android:layout_height="fill_parent" 
       android:textSize="20sp" /> 
     </LinearLayout> 
    </ScrollView> 

</RelativeLayout> 

Это мой LogCat:

04-27 11:32:41.910: E/AndroidRuntime(13452): FATAL EXCEPTION: main 
04-27 11:32:41.910: E/AndroidRuntime(13452): Process: com.developer.milanandroid, PID: 13452 
04-27 11:32:41.910: E/AndroidRuntime(13452): java.lang.NoClassDefFoundError: com.developer.milanandroid.AdminSettings 
04-27 11:32:41.910: E/AndroidRuntime(13452): at com.developer.milanandroid.Modes$3.onClick(Modes.java:56) 
04-27 11:32:41.910: E/AndroidRuntime(13452): at android.view.View.performClick(View.java:4438) 
04-27 11:32:41.910: E/AndroidRuntime(13452): at android.view.View$PerformClick.run(View.java:18422) 
04-27 11:32:41.910: E/AndroidRuntime(13452): at android.os.Handler.handleCallback(Handler.java:733) 
04-27 11:32:41.910: E/AndroidRuntime(13452): at android.os.Handler.dispatchMessage(Handler.java:95) 
04-27 11:32:41.910: E/AndroidRuntime(13452): at android.os.Looper.loop(Looper.java:136) 
04-27 11:32:41.910: E/AndroidRuntime(13452): at android.app.ActivityThread.main(ActivityThread.java:5017) 
04-27 11:32:41.910: E/AndroidRuntime(13452): at java.lang.reflect.Method.invokeNative(Native Method) 
04-27 11:32:41.910: E/AndroidRuntime(13452): at java.lang.reflect.Method.invoke(Method.java:515) 
04-27 11:32:41.910: E/AndroidRuntime(13452): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779) 
04-27 11:32:41.910: E/AndroidRuntime(13452): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595) 
04-27 11:32:41.910: E/AndroidRuntime(13452): at dalvik.system.NativeStart.main(Native Method) 
+0

Вы объявили о деятельности AdminSettins в манифесте? – Opiatefuchs

+0

Да Чувак ... @Opiatefuchs – Sundeep

+0

см. Http://stackoverflow.com/questions/8678630/noclassdeffounderror-for-code-in-an-java-library-on-android – Kay

ответ

1

Ваш класс AdminSetting и Mode в пакете com.developer.and но не com.developer.milanandroid. Измените имя пакета в строке 1 двух файлов, затем компилятор может найти класс.

+0

извините, dude formy project sake Я изменил имена пакетов на этом посту, фактически это был com.developer. milanandroid был там выше двух классов @ Desmond Yao – Sundeep

0

Ваши классы AdminSettings и Modes находится в упаковке com.developer.and, а не в com.developer.milanandroid. Поэтому либо измените имя пакета в своем проекте, либо в AndroidManifest, чтобы соответствовать друг другу. В настоящее время в вашем проекте у вас есть пакет com.developer.and, но в вашем AndroidManifest кажется, что вы используете пакет com.developer.milanandroid.

+0

извините dude formy project sake я изменил имена пакетов на этом сообщении, на самом деле это был com.developer.milanandroid был там в двух классах выше Rajen Raiyarela – Sundeep

Смежные вопросы