
要找的sqlite数据库 文件,默认情况下存储在这个位置 C:Documents and SettingsAdministratorandroidavd 虚拟机名字avd/userdataimg这个镜像文件中。 如果想不打开虚拟机就找到你的数据库文件,已经试过ultraiso无法识别这种镜像格式。
service类必须实现一个接收方法,接收中传递的是intent
@Override
public IBinder onBind(Intent intent) {
Bundle bundle = intentgetExtras();
String stringVal = bundlegetString("stringValue"); //用于接收字符串
int numVal = bundlegetInt("intValue"); //用于接收int类型数据
byte[] bytes = bundlegetByteArray("bytesValue"); //用于接收字节流,你可以把文件放入字节流
return null;
}
你可以用Bundle来接受你从Activity发过来的数据,然后使用Bundle提供各个方法来接受数据。
如果仅仅是字符串之类的,
使用getStringExtra方法直接接收即可。
@Override
public IBinder onBind(Intent intent) {
String str1 = intentgetStringExtra("str1");
String str2 = intentgetStringExtra("str2");
return null;
}
理论上,APP可以使用任何类型的数据库,不过目前用得较多的是MSSQL和MYSQL。一般开发APP用JAVA的比较多,可以考虑使用MYSQL。sqlite是一种小型数据,可以作为本地保存数据库,如果数据量比较大,交互比较频繁,不建议使用。
视情况而定,oracle是主流的大型数据库,大多数电信项目都是使用的oracle,而sqlserver与mysql主要是个人以及小型公司使用的的数据库,但是sqlserver需要收费,mysql不用;如果按功能上来说,oracle最为强大,oracle支持递归查询,二后两者不支持。
三个数据库中,只有sqlserver有完整的图形化 *** 作界面,而oracle与mysql都要借助于其他的第三方数据库图形 *** 作界面,比如oracle用的大多都是plsql。
如果是本地数据的需求用SQlite,如果像登陆有用验证或者网络间共享数据的话,就需要调用WebService与后台服务器数据交互,这两种数据是没有联系的。一个是本地数据库,一个是服务器端数据库。本地用数据库就是SQlite,别的不太可能,终端没有那么高的性能,再说甲骨文公司也没出手机端oracle啊。
如果你的数据是已知的,静态的,没有太多的变化,满可以在本地SQlite中存储、读取。这样不会因网络问题而降低效率和成功率。如果数据未知、有实时的变化或者有与其他用户交互、共享的数据必然需要后台服务器数据。
Android应用开发中,给我们提供了5种数据的存储方式
1 使用SharedPreferences存储数据
2 文件存储数据
3 SQLite数据库存储数据
4 使用ContentProvider存储数据
5 网络存储数据
不同的业务逻辑,或者需求,用不同的实现方式,以下是这几中数据存储方式的说明用及法:
第一种: 使用SharedPreferences存储数据
SharedPreferences是Android平台上一个轻量级的存储类,主要是保存一些常用的配置比如窗口状态,一般在Activity中 重载窗口状态onSaveInstanceState保存一般使用SharedPreferences完成,它提供了Android平台常规的Long长 整形、Int整形、String字符串型的保存。
以下为示例代码:
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
superonCreate(savedInstanceState);
setContentView(Rlayoutmain);
//获取SharedPreferences对象
Context ctx = MainActivitythis;
SharedPreferences sp = ctxgetSharedPreferences("SP", MODE_PRIVATE);
//存入数据
Editor editor = spedit();
editorputString("STRING_KEY", "string");
editorputInt("INT_KEY", 0);
editorputBoolean("BOOLEAN_KEY", true);
editorcommit();
//返回STRING_KEY的值
Logd("SP", spgetString("STRING_KEY", "none"));
//如果NOT_EXIST不存在,则返回值为"none"
Logd("SP", spgetString("NOT_EXIST", "none"));
}
}
第二种: 文件存储数据
关于文件存储,Activity提供了openFileOutput()方法可以用于把数据输出到文件中,具体的实现过程与在J2SE环境中保存数据到文件中是一样的。
文件可用来存放大量数据,如文本、、音频等。
默认位置:/data/data/< >/files/。
代码示例:
public void save(){
try {
FileOutputStream outStream=thisopenFileOutput("atxt",ContextMODE_WORLD_READABLE);
outStreamwrite(textgetText()toString()getBytes());
outStreamclose();
ToastmakeText(MyActivitythis,"Saved",ToastLENGTH_LONG)show();
} catch (FileNotFoundException e) {
return;
}
catch (IOException e){
return ;
}
}
第三种: SQLite数据库存储数据
SQLite是轻量级嵌入式数据库引擎,它支持 SQL 语言,并且只利用很少的内存就有很好的性能。此外它还是开源的,任何人都可以使用它。许多开源项目((Mozilla, PHP, Python)都使用了 SQLite。
SQLite 由以下几个组件组成:SQL 编译器、内核、后端以及附件。
SQLite 通过利用虚拟机和虚拟数据库引擎(VDBE),使调试、修改和扩展 SQLite 的内核变得更加方便。
读取文件示例:
public void load(){
try {
FileInputStream inStream=thisopenFileInput("atxt");
ByteArrayOutputStream stream=new ByteArrayOutputStream();
byte[] buffer=new byte[1024];
int length=-1;
while((length=inStreamread(buffer))!=-1) {
streamwrite(buffer,0,length);
}
streamclose();
inStreamclose();
textsetText(streamtoString());
ToastmakeText(MyActivitythis,"Loaded",ToastLENGTH_LONG)show();
} catch (FileNotFoundException e) {
eprintStackTrace();
}
catch (IOException e){
return ;
}
}
第四种 使用ContentProvider存储数据 ContentProvider其实也是通过数据库的方式来存储数据的,因此这里不再做详细介绍
第五种 网络存储数据 也就是说将数据保存在服务器,android上只需要通过>
你手机有没有Root权限,如果没有Root的权限的话,是看不了数据库的,反之,在楼下说的目录地址里面(手机根目录/data/data/你应用的包名/databases)可以找到,推荐工具:Re浏览器, 望采纳
保存一个url是个不错的方法,然后加载的时候就可以根据路径去生成一个bitmap对象,再把这个对象显示到组件上 。如果知道路径,那么显示时调用BitmapFactorydecodeFile(String pathName)这个方法就行,参数为一个路径字符串
以上就是关于安卓手机开发,创建SQlite数据库后,默认路径是存全部的内容,包括:安卓手机开发,创建SQlite数据库后,默认路径是存、安卓中如何使用intentservice请求数据并保存在数据库中、安卓移动APP开发用什么数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)