`
flycun2
  • 浏览: 27551 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Android 数据存储(数据库、文件、参数)操作实例

 
阅读更多
1. 主界面

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:scrollbars="vertical" >

    <LinearLayout
        android:id="@+id/LinearLayout1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        tools:context=".MainActivity" >

        <RadioGroup
            android:id="@+id/radioClassName"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" >

            <RadioButton
                android:id="@+id/radio1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/title_activity_preferences" />
            <RadioButton
                android:id="@+id/radio2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/title_activity_file" />
            <RadioButton
                android:id="@+id/radio3"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:checked="true"
                android:text="@string/title_activity_data_base" />
        </RadioGroup>
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:onClick="display"
            android:text="@string/btn_display" />
    </LinearLayout>
</ScrollView>

2. 参数存储实例

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/LinearLayout1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".PreferencesActivity" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >

        <TextView
            android:layout_width="50dp"
            android:layout_height="wrap_content"
            android:text="@string/lblUsername" />

        <EditText
            android:id="@+id/txtUsername"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >

        <TextView
            android:layout_width="50dp"
            android:layout_height="wrap_content"
            android:text="@string/lblPassword" />

        <EditText
            android:id="@+id/txtPassword"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:inputType="textPassword" />
    </LinearLayout>

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/btn_save"
        android:onClick="save" />

</LinearLayout>

文件存储路径:/data/data/<package_name>/shared_prefs/<filename>.xml
3. 文件存储实例

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/LinearLayout2"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".PreferencesActivity" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >

        <TextView
            android:layout_width="50dp"
            android:layout_height="wrap_content"
            android:text="@string/lblFilename" />

        <EditText
            android:id="@+id/txtFilename"
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:layout_weight="1" />

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:onClick="open"
            android:text="@string/btn_open" />
    </LinearLayout>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/lblFilecontent" />

    <EditText
        android:id="@+id/txtFilecontent"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="top"
        android:inputType="textMultiLine"
        android:lines="10" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:onClick="save"
            android:text="@string/btn_save" />
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:onClick="save2sdcard"
            android:text="@string/btn_save2sdcard" />
    </LinearLayout>

</LinearLayout>


package com.example.data;

import android.app.Activity;
import android.os.Bundle;
import android.os.Environment;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;

import com.example.service.FileService;

public class FileActivity extends Activity {
	private EditText filenameEditText, filecontentEditText;
	private FileService service;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_file);
		service = new FileService(this);
		filenameEditText = (EditText) findViewById(R.id.txtFilename);
		filecontentEditText = (EditText) findViewById(R.id.txtFilecontent);
	}
	
	public void save(View view) {

		String filename = filenameEditText.getText().toString();
		String content = filecontentEditText.getText().toString();
		try {
			service.save(filename, content);
			Toast.makeText(this, getString(R.string.save_success), Toast.LENGTH_LONG).show();
		} catch (Exception e) {
			Toast.makeText(this, getString(R.string.save_fail), Toast.LENGTH_LONG).show();
			e.printStackTrace();
		}
	}
	public void save2sdcard(View view) {
		
		String filename = filenameEditText.getText().toString();
		String content = filecontentEditText.getText().toString();
		try {
			if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
				service.save2sdcard(filename, content);
				Toast.makeText(this, getString(R.string.save_success), Toast.LENGTH_LONG).show();
			}
		} catch (Exception e) {
			Toast.makeText(this, getString(R.string.save_fail), Toast.LENGTH_LONG).show();
			e.printStackTrace();
		}
	}

	public void open(View view) {
		String filename = filenameEditText.getText().toString();
		try {
			String content=service.open(filename);
			filecontentEditText.setText(content);
			Toast.makeText(this, getString(R.string.open_success), Toast.LENGTH_LONG).show();
		} catch (Exception e) {
			Toast.makeText(this, getString(R.string.open_fail), Toast.LENGTH_LONG).show();
			e.printStackTrace();
		}
	}

}


package com.example.service;

import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;

import android.content.Context;
import android.os.Environment;

public class FileService {
	private Context context;

	public FileService(Context content) {
		this.context = content;
	}
	///data/data/<package_name>/files/<filename>
	public void save(String filename, String content) throws Exception {
		FileOutputStream outputStream = context.openFileOutput(filename, Context.MODE_PRIVATE);
		outputStream.write(content.getBytes());
		outputStream.close();
	}

	//path: /Android/data/<package_name>/files/<filename>
	public void save2sdcard(String filename, String content) throws Exception {
		//Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS);
		String path=Environment.getExternalStorageDirectory()+"/Android/data/com.example.data/files/";
		File file = new File(path, filename);
		new File(file.getParent()).mkdirs(); 
		FileOutputStream outputStream = new FileOutputStream(file);
		outputStream.write(content.getBytes());
		outputStream.close();
	}

	public String open(String filename) throws Exception {
		FileInputStream inputStream = context.openFileInput(filename);
		ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
		byte[] buffer = new byte[1024] ;
		int len = 0;
		while ((len = inputStream.read(buffer)) != -1) {
			outputStream.write(buffer, 0, len);
		}
		return new String(outputStream.toByteArray());
	}

}


文件存储路径:
内部存储:/data/data/<package_name>/files/<filename>
SD卡存储:/Android/data/<package_name>/files/<filename>
4. 数据库存储实例

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/LinearLayout3"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".PreferencesActivity" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/lblPhone" />

        <EditText
            android:id="@+id/txtPhone"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:inputType="text" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:onClick="save"
            android:text="@string/btn_save2db" />

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:onClick="list"
            android:text="@string/btn_list" />
    </LinearLayout>

</LinearLayout>


数据库文件存储路径:/data/data/<package_name>/databases/<databaseName>
  • 大小: 6.8 KB
  • 大小: 6 KB
  • 大小: 7.6 KB
  • 大小: 7.2 KB
  • 大小: 9.5 KB
1
1
分享到:
评论

相关推荐

    android数据库操作实例

    在Android开发中,数据库是一个非常重要的组成部分,用于存储和管理应用程序的数据。本实例主要探讨的是如何在Android系统中使用SQLite数据库进行操作。SQLite是Android内置的轻量级数据库,适用于移动设备,支持...

    android操作数据库实例

    在Android中,可供选择的存储方式有SharedPreferences、文件存储、SQLite数据库方式、内容提供器(Content provider)和网络。一.SharedPreferences方式二.文件存储方式三.SQLite数据库方式四.内容提供器(Content ...

    Android 操作数据库实例.zip

    本实例的"Android 操作数据库实例.zip"提供了完整的源代码,涵盖了数据库的基本操作,如添加(Insert)、查询(Query)、更新(Update)和删除(Delete)。这些操作对于理解和实践Android数据库编程至关重要。 1. ...

    Android之Sqlite数据库操作实例

    这里的`insertData()`方法用于插入数据,`ContentValues`对象用来存储待插入的数据,`getWritableDatabase()`获取可读写的数据库实例,然后调用`insert()`方法插入数据。 查询数据: ```java public Cursor getAll...

    Android 3种数据保存(SharedPreferences存储 内部文件存储 数据库存储)

    本教程将详细介绍Android中的三种主要数据存储方式:SharedPreferences存储、内部文件存储以及数据库存储。 1. SharedPreferences存储 SharedPreferences是Android提供的一种轻量级的数据存储方式,用于保存应用...

    android 操作数据库实例

    总的来说,这个Android SQLite数据库实例为开发者提供了一个基础模板,展示了如何在Android应用中使用SQLite数据库进行基本的数据操作。通过学习和理解这个实例,开发者能够更好地掌握Android应用中的数据存储技术,...

    将Excel数据导入android数据库DB文件

    通过getWritableDatabase()或getReadableDatabase()方法获取数据库实例,然后使用SQL语句查询、更新或删除数据。 7. **注意事项**: 考虑到Android的安全性,数据库文件应受权限保护,不要将.db文件直接暴露给用户。...

    Android课程试验报告-实现数据库存储.docx

    在Android应用开发中,数据库是存储和管理数据的重要组成部分。本实验报告主要涉及如何在Android平台上实现基于SQLite的数据库存储。SQLite是一个轻量级的关系型数据库,它被广泛用于移动设备,因为它不需要单独的...

    Android的Realm数据库增删改查实例

    Realm数据库允许开发者直接在内存中操作数据,极大地提高了应用程序的性能和用户体验。本实例将深入探讨如何在Android项目中使用Realm进行基本的数据操作,包括增、删、改、查。 首先,我们需要在项目中集成Realm...

    android文件存储之数据库

    在Android开发中,数据库是一种常用的数据存储方式,用于持久化应用程序的数据。SQLite是Android系统内置的关系型数据库,轻量级且高效,适用于大部分移动设备的需求。本教程将深入讲解Android数据库的基本操作,...

    Android数据库操作实例代码

    本实例代码主要关注如何在Android中进行数据库操作,这涉及到SQLite数据库,它是Android系统内置的关系型数据库管理系统。SQLite轻量级、易于使用且功能强大,非常适合移动设备。 首先,我们需要创建一个SQLite...

    android操作数据库Sqlite源代码

    SQLite被集成在Android操作系统中,允许开发者在应用程序中存储和管理数据。本主题主要探讨如何通过源代码来实现对SQLite数据库的增、删、查、改(CRUD)操作。 首先,SQLiteAdmin.rar可能包含一个用于管理SQLite...

    Android数据库sqlite存储

    1. **创建(Create)**:通过SQLiteOpenHelper的子类的getWritableDatabase()或getReadableDatabase()方法获取到SQLite数据库实例,然后使用SQL语句插入数据。例如: ```java public boolean insertData(String ...

    android数据库应用实例

    插入数据通常使用SQL的INSERT INTO语句,结合SQLiteOpenHelper的.getWritableDatabase()方法获取可写的数据库实例,然后调用insert()方法。 6. 查询数据 查询数据时,我们可以使用rawQuery()或query()方法。前者...

    Android数据存储和数据库编程

    通过阅读《新版Android开发教程+笔记十二--文件存取、数据库编程.pdf》这份文档,开发者可以更详细地了解这些概念,并通过实例学习如何在Android项目中实现数据存储和数据库功能。此外,文档可能还会涵盖如何处理...

    Android程序研发源码Android 操作数据库实例.zip

    本压缩包文件"Android程序研发源码Android 操作数据库实例.zip"应该包含了一些实际项目中对SQLite数据库进行操作的源代码示例。下面将详细讲解Android中如何操作SQLite数据库。 1. 数据库创建与升级: - 在Android...

    android数据库实例.pdf

    Android数据库实例是指在Android应用程序中使用的数据库系统,用于存储和管理应用程序的数据。在Android系统中, SQLite数据库是最常用的数据库管理系统,它提供了一个轻量级的关系数据库管理系统,允许开发者在应用...

    android读取sqlite数据库的数据并用listview显示

    在Android开发中,SQLite是一个内置的轻量级数据库系统,用于存储应用程序的结构化数据。本教程将详述如何在Android应用中读取SQLite数据库的数据并利用ListView进行展示。 首先,我们需要创建SQLite数据库。在...

    Android源码——数据库SQLite.zip

    SQLite数据库是嵌入式的,意味着每个Android应用程序都有自己的SQLite数据库实例。开发者可以通过SQLiteOpenHelper类来创建和管理数据库版本,以及执行升级或降级操作。这个类的子类通常会重写`onCreate()`和`...

Global site tag (gtag.js) - Google Analytics