1. android如何保存整型数组
Android中数据的存储有五种方式不同的应用及需求,会使用不同的方式去存储数据。
1 使用SharedPreferences存储数据
2 文件存储数据
3 SQLite数据库存储数据
4 使用ContentProvider存储数据
5 网络存储数据
不同的业务逻辑,或者需求,用不同的实现方式,以下是这几中数据存储方式的说明用及法:
第一种: 使用SharedPreferences存储数据
它的本质是基于XML文件存储key-value键值对数据,通常用来存储一些简单的配置信息。
其存储位置在/data/data/< >/shared_prefs目录下。
第二种: 文件存储数据
关于文件存储,Activity提供了openFileOutput()方法可以用于把数据输出到文件中,具体的实现过程与在J2SE环境中保存数据到文件中是一样的。文件可用来存放大量数据,如文本、图片、音频等。
默认位置:/data/data/< >/files/***.***。
第三种: SQLite数据库存储数据
SQLite是轻量级嵌入式数据库引擎,它支持 SQL 语言,并且只利用很少的内存就有很好的性能。此外它还是开源的,任何人都可以使用它。许多开源项目((Mozilla, PHP, Python)都使用了 SQLite。
数据库存储在 data/< 项目文件夹 >/databases/ 下。
第四种: 使用ContentProvider存储数据 ContentProvider其实也是通过数据库的方式来存储数据的,因此这里不再做详细介绍。
第五种 :网络存储数据 也就是说将数据保存在服务器,android上只需要通过httpclient发起一个请求,向服务器获取数据即可。
2. Android 几种拼接数组合并数组的方法
public class ContactIntegerArray {
public static int[] contact(int a[], int b[]){
int[] f = new int[a.length+b.length];
for(int i = 0 ; i < f.length; i++)
if(i < a.length)
f[i] = a[i];
else
f[i]= b[i-a.length];
return f;
}
public static void main(String[] args) {
int a[] = {1,3,4,7};
int b[] = {2,3,5};
int c[] =ContactIntegerArray.contact(a, b);
}
}
3. 求助:1.android怎么把int型数组存入文件并保存在SD卡中 2.android怎么从文件中读取数据并存在数组中
用android自带的JSON库,
存档过程
int[] numberArray = {1,3,5,6,9,233,3255};
JSONArraynumbers=new JSONArray();
for(int number : numberArray){
numbers.put(number);
}
String jsonString= numbers.toString();
FileOutputStream fileOut=null;
OutputStreamWriter outStream =null;
try
{
fileOut =new FileOutputStream(saveFilePath,false);
outStream =new OutputStreamWriter(fileOut);
outStream.write(jsonString);
}
catch(Exception e)
{
}
finally
{
try
{
if(null!=outStream)
outStream.close();
if(null!=fileOut)
fileOut.close();
}
catch(Exception e)
{
}
}
读取过程差不多,new 一个FileInputStream 读取其中内容。
然后用这个字符串来初始化JSONArray,就可以得到结果。
记得给应用程序加上读写SD卡的权限。
4. android如何由数组保存成图片并保存在SD卡上
Bitmap bm = BitmapFactory.decodeByteArray(byte[] data, int offset, int length);别忘了判断数组是不是为空。
保存。。。。
public void saveFile(Bitmap bm, String fileName) throws IOException {
private final static String ALBUM_PATH
= Environment.getExternalStorageDirectory() + "/download_test/";
File dirFile = new File(ALBUM_PATH);
if(!dirFile.exists()){
dirFile.mkdir();
}
File myCaptureFile = new File(ALBUM_PATH + fileName);
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(myCaptureFile));
bm.compress(Bitmap.CompressFormat.JPEG, 80, bos);
bos.flush();
bos.close();
}