Tôi đang sử dụng phương pháp tiếp cận chuẩn mà tôi đã học được từ ví dụ notepad phổ biến để xây dựng ứng dụng đầu tiên của mình.
Nhưng tôi bị kẹt vào một vấn đề lạ.
Tệp cơ sở dữ liệu SQLite (.db) không được tạo trong/data/data/package/databases. Tôi đã kiểm tra chéo tập tin manifest và tập tin OpenHelper từ dev android HeadFirst. Cuốn sách (Tôi đang sử dụng nó như là một tài liệu tham khảo) nhưng tôi thấy mình không thể tìm ra lý do tại sao các tập tin cơ sở dữ liệu không được tạo ra ..
Có bất kỳ điều khoản đặc biệt hay gì đó chúng ta cần phải bật để làm cho nó hoạt động không ??
điều lạ là làm việc tốt cho các ví dụ được tải sẵn. có nghĩa là tập tin '.db' được tạo ra cho ví dụ notepad nhưng khi tôi thử, nó không thành công. :(
đây là tác phẩm của tôicơ sở dữ liệu sqlite không được tạo
Package -. Database.test
1. AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<uses-sdk android:minSdkVersion="10" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:name=".Database_testActivity"
android:label="@string/app_name" >
</activity>
</application>
2.TestOpenHelper.java
package database.test;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
public class TestOpenHelper extends SQLiteOpenHelper {
TestOpenHelper(Context context){
super(context,"mydb.db",null,1);
}
@Override
public void onCreate(SQLiteDatabase database){
database.execSQL("create table test_1 " + " (field1 integer primary key, field2 integer);");
}
public void onUpgrade (SQLiteDatabase database, int oldVersion, int newVersion){
database.execSQL("drop table if exists test1");
onCreate(database);
}
}
3.Database_testActivity.java
package database.test;
import android.app.Activity;
import android.os.Bundle;
import android.widget.ListView;
public class Database_testActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ListView listview = (ListView)findViewById(R.id.test_list);
TestAdapter ta = new TestAdapter();
listview.setAdapter(ta);
TestOpenHelper openHelper = new TestOpenHelper(this);
}
}
Tôi biết nó là một câu hỏi rất cơ bản, nhưng tôi đã cố gắng để giải quyết việc này trong vòng mười lăm ngày qua và bây giờ tôi hoàn toàn thất vọng.
Xin giúp ..
Bạn nên sử dụng 'Đăng nhập' ở những nơi khác nhau và theo dõi 'logcat' để theo dõi những gì đang diễn ra. Ngoài ra tôi có thể sai nhưng bạn đã thử sử dụng "mydb" cho tên db trong constructor 'TestOpenHelper'? Như tôi đã nói, tôi có thể sai nhưng tôi không thể không cảm thấy việc sử dụng đuôi tệp (như trong "mydb.db") có thể gây ra sự cố. – Squonk
bạn có thể ném một số ánh sáng vào 'sử dụng Nhật ký'. Tôi đã thử nhiều tên nhưng không có gì xảy ra cả. cảm ơn bạn – Bond
cũng mọi ứng dụng. trong/data/data bắt đầu bằng com.android.something nhưng không. nó có thể là lý do của vấn đề của tôi? – Bond