Java 如何在SQL数据库中存储Html文件目录?
我在assets文件夹中放置了一些html文件,它们的目录在java文件中 但是我想将目录存储到SQLite数据库中,使用“pos”作为主键。那么我只需要一行代码,比如Java 如何在SQL数据库中存储Html文件目录?,java,android,sql,sqlite,Java,Android,Sql,Sqlite,我在assets文件夹中放置了一些html文件,它们的目录在java文件中 但是我想将目录存储到SQLite数据库中,使用“pos”作为主键。那么我只需要一行代码,比如 web.loadUrl(sqlDb.load(“从mytable中选择url,其中pos=“+pos”)打开html文件 但是我不知道 如何在eclipse中创建SQL数据库 如何将我的活动引用到数据库 如何在sql数据库中存储目录 下面是我的代码 import android.app.Activity; import andr
web.loadUrl(sqlDb.load(“从mytable中选择url,其中pos=“+pos”)
打开html文件
但是我不知道
import android.app.Activity;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.webkit.WebView;
import android.webkit.WebViewClient;
public class WebViewActivity extends Activity {
WebView web;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_web_view);
web = (WebView) findViewById(R.id.webView1);
web.setWebViewClient(new myWebClient());
web.getSettings().setJavaScriptEnabled(true);
int pos = getIntent().getIntExtra("key",0);
if(pos==0){ web.loadUrl("file:///android_asset/1.html");
else if(pos==1){ web.loadUrl("file:///android_asset/2.html");}
else if(pos==2){ web.loadUrl("file:///android_asset/3.html");}
else if(pos==3){ web.loadUrl("file:///android_asset/4.html");}
else if(pos==4){ web.loadUrl("file:///android_asset/5.html");}
// similarly for 4 and 5 and so on.
}
public class myWebClient extends WebViewClient
{
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
// TODO Auto-generated method stub
super.onPageStarted(view, url, favicon);
}
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
// TODO Auto-generated method stub
view.loadUrl(url);
return true;
}
@Override
public void onReceivedError(WebView view, int errorCode,
String description, String failingUrl) {
}
@Override
public void onPageFinished(WebView view, String url) {
// TODO Auto-generated method stub
super.onPageFinished(view, url);
}
}
}
关于问题1-2,有两个选项,请阅读以下内容和
关于问题3,据我所知,您的意思是保存这些文件的路径。我认为最好的方法是将这些路径作为字符串存储在一个表中
希望这就是您所需要的。DatabaseHelper.java
public class DatabaseHelper extends SQLiteOpenHelper{
// Database Version
private static final int VERSION = 1;
// Database Name
private static final String NAME = "MyDatabase.db";
// SqliteDatabase
SQLiteDatabase db = null;
public DatabaseHelper(Context context) {
super(context, NAME, null, VERSION);
}
public void open() throws SQLException {
db = this.getWritableDatabase();
}
public void close() {
db.close();
}
//table names
public static final String TABLE_URLS = "TABLE_URLS";
// table schema
private static final String SCHEMA_TABLE_URLS = "CREATE TABLE "+ TABLE_URLS +" (POS INTEGER PRIMARY KEY, URL TEXT);";
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(SCHEMA_TABLE_URLS);
System.out.println("database created.");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL(SCHEMA_TABLE_URLS);
System.out.println("database is updated");
}
public long insertURL(ContentValues values){
return db.insert(TABLE_URLS, null, values);
}
public Cursor getURL(String pos){
return db.query(TABLE_URLS, null, "POS =?", new String[]{pos}, null, null, null);
}
}
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// create database helper object
DatabaseHelper helper = new DatabaseHelper(this);
helper.open();
// insert url to database
ContentValues values;
values = new ContentValues();
values.put("POS", "1");
values.put("URL", "file:///android_asset/1.html");
helper.insertURL(values);
values = new ContentValues();
values.put("POS", "2");
values.put("URL", "file:///android_asset/2.html");
helper.insertURL(values);
values = new ContentValues();
values.put("POS", "3");
values.put("URL", "file:///android_asset/3.html");
helper.insertURL(values);
// so on
// get url using position
String pos = "1";
Cursor c = helper.getURL(pos);
c.moveToFirst();
String url = c.getString(c.getColumnIndex("URL"));
System.out.println("URL "+url);
c.close();
helper.close();
}
}
MainActivity.java
public class DatabaseHelper extends SQLiteOpenHelper{
// Database Version
private static final int VERSION = 1;
// Database Name
private static final String NAME = "MyDatabase.db";
// SqliteDatabase
SQLiteDatabase db = null;
public DatabaseHelper(Context context) {
super(context, NAME, null, VERSION);
}
public void open() throws SQLException {
db = this.getWritableDatabase();
}
public void close() {
db.close();
}
//table names
public static final String TABLE_URLS = "TABLE_URLS";
// table schema
private static final String SCHEMA_TABLE_URLS = "CREATE TABLE "+ TABLE_URLS +" (POS INTEGER PRIMARY KEY, URL TEXT);";
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(SCHEMA_TABLE_URLS);
System.out.println("database created.");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL(SCHEMA_TABLE_URLS);
System.out.println("database is updated");
}
public long insertURL(ContentValues values){
return db.insert(TABLE_URLS, null, values);
}
public Cursor getURL(String pos){
return db.query(TABLE_URLS, null, "POS =?", new String[]{pos}, null, null, null);
}
}
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// create database helper object
DatabaseHelper helper = new DatabaseHelper(this);
helper.open();
// insert url to database
ContentValues values;
values = new ContentValues();
values.put("POS", "1");
values.put("URL", "file:///android_asset/1.html");
helper.insertURL(values);
values = new ContentValues();
values.put("POS", "2");
values.put("URL", "file:///android_asset/2.html");
helper.insertURL(values);
values = new ContentValues();
values.put("POS", "3");
values.put("URL", "file:///android_asset/3.html");
helper.insertURL(values);
// so on
// get url using position
String pos = "1";
Cursor c = helper.getURL(pos);
c.moveToFirst();
String url = c.getString(c.getColumnIndex("URL"));
System.out.println("URL "+url);
c.close();
helper.close();
}
}
你到底想要什么??在Sqlite数据库中存储URL?使用这种方式存储路径。@Prince是否可以将我的else if语句存储在xml文件中并从类文件调用它?您是否解决了它。您知道如何增加堆栈大小吗?那可以解决我的问题你能给我你的电子邮件吗?