رفتن به مطلب
انجمن اندروید ایران | آموزش برنامه نویسی اندروید و موبایل
  • android.png.1fab383bc8500cd93127cebc65b1dcab.png

آیا دیتابیس ساخته میشه؟


پست های پیشنهاد شده

[align=right]سلام[/align]

[align=right]من تازه دارم با اندروید برنامه نویسی میکنم[/align]

[align=right]برنامه ای که نوشتم میخاد یه دیتابیس بسازه که از دو تا اکتیویتی مجزا بهش دسترسی داشته باشه یکی از اکتیویتیها اطلاعت رو میخونه یکی اطلاعات رو وارد دیتابیس میکنه[/align]

[align=right]برای این کار من یه کلاس برای دیتابیس درست کردم که SQLitropenhelper رو extend میکنه و یه اپلیکیشن ساختم که یه شی از این کلاس داره بعد این شی از طریق دو تا اکتیویتی هام قابل دسترسه. ولی وقتی اجرا میکنم ارور میده. من اصلن نمیدونم که دیتابیسم رو میسازه یا نه. دایرکتوری data/data/ رو هم نمیتونم پیدا کنم . نه از DDMS نه از روی خود دیوایس. [/align]

[align=right]این کلاس دیتابیسه:

import android.content.Intent;import android.support.v7.app.ActionBarActivity;import android.os.Bundle;import android.util.Log;import android.view.Menu;import android.view.MenuItem;import android.widget.Button;import android.view.View.OnClickListener;import android.view.View;import android.widget.LinearLayout;import android.widget.TextView;import android.view.ViewGroup.LayoutParams;import android.database.Cursor;public class MyActivity extends ActionBarActivity implements OnClickListener {   Button ADD_btn;   private static final String TAG = "MyActivity";   TextView valueTV;   DBApplication mydb;   LinearLayout mainlayout;   Cursor c;   String s;   int i=0;   @Override   protected void onCreate(Bundle savedInstanceState) {       super.onCreate(savedInstanceState);       setContentView(R.layout.mymain);       ADD_btn=(Button) findViewById(R.id.ADD_B);       ADD_btn.setOnClickListener(this);       mydb=(DBApplication)getApplication();       c=mydb.getdb().getrecords();       s= String.format(c.getString(c.getColumnIndex("firstname")),c.getString(c.getColumnIndex("lastname")));       mainlayout=(LinearLayout) findViewById(R.id.mainlayout);       valueTV= new TextView(this);       valueTV.setText(s);       valueTV.setId(i);       valueTV.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));       mainlayout.addView(valueTV);       i++;      //first_name=(TextView) findViewById(R.id.firstname);   }   public void onClick(View v) {       Log.d(TAG, "onClick");       //LinearLayout mainlayout=(LinearLayout) findViewById(R.id.mainlayout);       //valueTV= new TextView(this);       //valueTV.setId(i);       //valueTV.setAlpha(1);       //i++;       //valueTV.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));       //mainlayout.addView(valueTV);       startActivity(new Intent(this, MyActivity2.class));          }   @Override   public boolean onCreateOptionsMenu(Menu menu) {       // Inflate the menu; this adds items to the action bar if it is present.       getMenuInflater().inflate(R.menu.my, 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);   }}

[/align]

[align=right]

}

اکتیویتی هم اینه کدش

import android.content.Intent;import android.support.v7.app.ActionBarActivity;import android.os.Bundle;import android.util.Log;import android.view.Menu;import android.view.MenuItem;import android.widget.Button;import android.view.View.OnClickListener;import android.view.View;import android.widget.LinearLayout;import android.widget.TextView;import android.view.ViewGroup.LayoutParams;import android.database.Cursor;public class MyActivity extends ActionBarActivity implements OnClickListener {   Button ADD_btn;   private static final String TAG = "MyActivity";   TextView valueTV;   DBApplication mydb;   LinearLayout mainlayout;   Cursor c;   String s;   int i=0;   @Override   protected void onCreate(Bundle savedInstanceState) {       super.onCreate(savedInstanceState);       setContentView(R.layout.mymain);       ADD_btn=(Button) findViewById(R.id.ADD_B);       ADD_btn.setOnClickListener(this);       mydb=(DBApplication)getApplication();       c=mydb.getdb().getrecords();       s= String.format(c.getString(c.getColumnIndex("firstname")),c.getString(c.getColumnIndex("lastname")));       mainlayout=(LinearLayout) findViewById(R.id.mainlayout);       valueTV= new TextView(this);       valueTV.setText(s);       valueTV.setId(i);       valueTV.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));       mainlayout.addView(valueTV);       i++;      //first_name=(TextView) findViewById(R.id.firstname);   }   public void onClick(View v) {       Log.d(TAG, "onClick");       //LinearLayout mainlayout=(LinearLayout) findViewById(R.id.mainlayout);       //valueTV= new TextView(this);       //valueTV.setId(i);       //valueTV.setAlpha(1);       //i++;       //valueTV.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));       //mainlayout.addView(valueTV);       startActivity(new Intent(this, MyActivity2.class));          }   @Override   public boolean onCreateOptionsMenu(Menu menu) {       // Inflate the menu; this adds items to the action bar if it is present.       getMenuInflater().inflate(R.menu.my, 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);   }}

application ای که دیتابیس با استفاده از اون از همه جا قابل دسترسه هم:

import android.app.Application;public class DBApplication extends Application{   private static final String TAG="DBApplication";   public void OnCreate(){       super.onCreate();   }   public void onTerminate(){       super.onTerminate();   }   private DBHelper dbhelper;   public DBHelper getdb(){       return dbhelper;   }}

میشه لطفا راهنماییم کنید که چرا کد ران‌تایم ارور میده؟یعنی دیتابیس رو نمیسازه؟ [/align]

لینک ارسال
به اشتراک گذاری در سایت های دیگر

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...