当前位置:  编程技术>移动开发
本页文章导读:
    ▪应用SharedPreferences进行数据存储        使用SharedPreferences进行数据存储- 很多时候我们开发的软件需要向用户提供软件参数设置功能,例如我们常用的QQ,用户可以设置是否允许陌生人添加自己为好友。对于软件配置参数的保存,.........
    ▪ (转)模拟器中加载跟使用SDCard卡        (转)模拟器中加载和使用SDCard卡 [转:http://www.newwhy.com/2010/1026/27614.html] Android创建 sdcard两种方式一种CMD中ADB命令另外一种IDE种界面一、cmd进入tools目录输入mksdcard -l mycard 100M F:\mysdcard.img1.mksd.........
    ▪ Broadcast 范例       Broadcast 实例 package demo.broadcast; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; /** * 实现一个广播和广播接收器比较简单 * 一、.........

[1]应用SharedPreferences进行数据存储
    来源: 互联网  发布时间: 2014-02-18
使用SharedPreferences进行数据存储-

很多时候我们开发的软件需要向用户提供软件参数设置功能,例如我们常用的QQ,用户可以设置是否允许陌生人添加自己为好友。对于软件配置参数的保存,如果是window软件通常我们会采用ini文件进行保存,如果是j2se应用,我们会采用properties属性文件进行保存。如果是Android应用,我们最适合采用什么方式保存软件配置参数呢?Android平台给我们提供了一个SharedPreferences类,它是一个轻量级的存储类,特别适合用于保存软件配置参数。使用SharedPreferences保存数据,其背后是用xml文件存放数据,文件存放在/data/data/<package name>/shared_prefs目录下:
SharedPreferences sharedPreferences = getSharedPreferences("itcast", Context.MODE_PRIVATE);
Editor editor = sharedPreferences.edit();//获取编辑器
editor.putString("name", "传智播客");
editor.putInt("age", 4);
editor.commit();//提交修改
生成的itcast.xml文件内容如下:
<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<map>
<string name="name">传智播客</string>
<int name="age" value="4" />
</map>
因为SharedPreferences背后是使用xml文件保存数据,getSharedPreferences(name,mode)方法的第一个参数用于指定该文件的名称,名称不用带后缀,后缀会由Android自动加上。方法的第二个参数指定文件的操作模式,共有四种操作模式,这四种模式前面介绍使用文件方式保存数据时已经讲解过。如果希望SharedPreferences背后使用的xml文件能被其他应用读和写,可以指定Context.MODE_WORLD_READABLE和Context.MODE_WORLD_WRITEABLE权限。
另外Activity还提供了另一个getPreferences(mode)方法操作SharedPreferences,这个方法默认使用当前类不带包名的类名作为文件的名称。

 

关键代码示例:

首先设计ui

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
    <!-- RElativelayout是相对布局 -->
    <RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    >
<TextView 
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/name"
     android:textSize="20px"
    android:id="@+id/namelov"
    />
    <EditText
     android:layout_width="200px"
     android:layout_height="wrap_content"
     android:layout_toRightOf="@id/namelov"
     android:layout_alignTop="@id/namelov"
     android:layout_marginLeft="10px"
     android:id="@+id/name"
    />
    </RelativeLayout>
    <RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    >
<TextView 
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/age"
    android:textSize="20px"
    android:id="@+id/agelay"
    />
    <EditText
     android:layout_width="200px"
     android:layout_height="wrap_content"
     android:layout_toRightOf="@id/agelay"
     android:layout_alignTop="@id/agelay"
     android:layout_marginLeft="10px"
     android:id="@+id/age"
    />
    </RelativeLayout>
     <RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    >
   <Button
    android:layout_width="90px"
     android:layout_height="wrap_content"
      android:text="@string/set"
      android:id="@+id/setbutton"
     />
     <Button
    android:layout_width="90px"
     android:layout_height="wrap_content"
      android:text="@string/show"
      android:layout_toRightOf="@id/setbutton"
      android:layout_alignTop="@id/setbutton"
      android:id="@+id/showbutton"
     />
      </RelativeLayout>
      <TextView 
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="20px"
    android:id="@+id/result"
    />
</LinearLayout>

 

辅助的string.xml文件代码

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="hello">Hello World, SPActivity!</string>
    <string name="app_name">SharedPreferences数据</string>
    <string name="name">姓名:</string>
    <string name="age">年龄:</string>
    <string name="set">保存设置</string>
</resources>

 

设计的activity

 

package itcast.date;

import android.app.Activity;
import android.content.Context;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

public class SPActivity extends Activity {
    private EditText nametext;
    private EditText agetext;
    private TextView resultview;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        nametext=(EditText)this.findViewById(R.id.name);
        agetext=(EditText)this.findViewById(R.id.age);
        resultview=(TextView)this.findViewById(R.id.result);
        Button button=(Button)this.findViewById(R.id.setbutton);
        Button showbutton=(Button)this.findViewById(R.id.showbutton);
        button.setOnClickListener(listenser);
        showbutton.setOnClickListener(listenser);
      
        //回显示功能
        SharedPreferences sharedPreferences =SPActivity.this.getSharedPreferences("itcast", Context.MODE_PRIVATE);
        String namevalue=sharedPreferences.getString("name", "");
    int agevalue=sharedPreferences.getInt("age", 1);
    nametext.setText(namevalue);
    agetext.setText(String.valueOf(agevalue));
  //  resultview.setText("姓名:"+namevalue+",年龄:"+agevalue);
    }
    private View.OnClickListener listenser=new View.OnClickListener() {  
   @Override
   public void onClick(View v) {
    
    Button button=(Button)v;
     //获取SharedPreferences对象 参数一 后台生成的xml文件名  参数二 操作模式
    SharedPreferences sharedPreferences =SPActivity.this.getSharedPreferences("itcast", Context.MODE_PRIVATE);
    
    
    switch(button.getId()){
      case R.id.setbutton:
         String name=nametext.getText().toString();
      String age=agetext.getText().toString();
      /**
      *很多时候我们开发的软件需要向用户提供软件参数设置功能,例如我们常用的QQ,
      *用户可以设置是否允许陌生人添加自己为好友。对于软件配置参数的保存,
      *如果是window软件通常我们会采用ini文件进行保存,如果是j2se应用
                  *我们会采用properties属性文件进行保存。如果是Android应用,
                  *我们最适合采用什么方式保存软件配置参数呢?Android平台给我们提供了一个SharedPreferences类,
                  *它是一个轻量级的存储类,特别适合用于保存软件配置参数。使用SharedPreferences保存数据,
                  *其背后是用xml文件存放数据,文件存放在/data/data/<package name>/shared_prefs目录下:
                */ 
      Editor editor = sharedPreferences.edit();//获取编辑器
      editor.putString("name", name);
      editor.putInt("age", Integer.parseInt(age));
      editor.commit();//提交修改
      //提示消息
      Toast.makeText(SPActivity.this, "保存成功", 1).show(); 
      break;
      case R.id.showbutton:
       //参数一是name键 参数二 是默认值 这行 表示还回name键的值 没有就还回默认值
       String namevalue=sharedPreferences.getString("name", "");
       int agevalue=sharedPreferences.getInt("age", 1);
       resultview.setText("姓名:"+namevalue+",年龄:"+agevalue);
       break;
    }
    
  }
 };
}


    
[2] (转)模拟器中加载跟使用SDCard卡
    来源: 互联网  发布时间: 2014-02-18
(转)模拟器中加载和使用SDCard卡

[转:http://www.newwhy.com/2010/1026/27614.html]

Android创建 sdcard
两种方式一种CMD中ADB命令另外一种IDE种界面
一、cmd进入tools目录输入mksdcard -l mycard 100M F:\mysdcard.img
1.mksdcard命令在F盘下新建一个虚拟磁盘给模拟器用,文件名mysdcard后缀可以

自定义如mycard.tank。
2. 默认单位为k 这里我写的100M 最小要大于9M,最大看你的硬盘,你要100000M我也不反对。
3. -l命令行参数表示虚拟磁盘的卷标,可以没有该参数。

二、激活sdcard adb命令emulator
1.命令行输入:emulator -avd myadvname -sdcard F:\mysdcard.img

三、sdcard中加入内容 cmd
F:\Android\android-sdk-windows\tools>adb push F:\a.mp3 /sdcard/a.mp3
成功后看到
473 KB/s (0 bytes in 2714583.005s)
可以在进入模拟器界面中的Music可以看到你的mp3了
启动模拟时可以看到左上角有一个卡的图标闪过,就说明加载SDCard启动OK了

另外一种比较简单:
步骤如图:

创建后,在相应的目录下就可以看到我们用IDE创建的虚拟文件了adcard.img跟我们自己手动创建的是一样的效果!

OK,写到这里了!希望对你有帮助!

 

[补:如果要查看内容,可以使用命令:adb shell进入命令行,然后用ls, cd sdcard, ls命令查看]


    
[3] Broadcast 范例
    来源: 互联网  发布时间: 2014-02-18
Broadcast 实例
package demo.broadcast;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

/**
 * 实现一个广播和广播接收器比较简单
 * 一、构建Intent对象
 * 二、调用sendBroadcast()发出一个系统级别的广播
 * 三、事件的接收是通过自定义一个类,通过继承BroadcastReceiver,并实现其onReceive()方法来实现的
 * 四、注册你定义的广播接收器,在AndroidManifest.xml中注册或者在代码中注册
 * @author Administrator
 *
 */
public class MainActivity extends Activity {
    
	//首先需要一个Action常量,任意了啦,就是相当于一个唯一的标识符
	//这里关于Action的理解,可以这样:
	//Action就相当于一种符号。比如几个军队在作战,其中A军队发出一种信号,
	//其中B军队和A军队是一方(就是B军队可以正确识别这种信号),所以B军队看到
	//信号后,对信号进行解析,根据信号的指示,执行任务。而另一方的C军队,不知道这种信号
	//所以,只能置之不理。
	//这里,信号就相当于Action,起到过滤的作用。军队B就相当于该Action的一个接受者,是一个广播接收者
	private static final String ACTION_DEMO_BROADCAST = "demo.broadcast.action.ACTION_DEMO_BROADCAST";
	
	private Button button;
	
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        button = (Button)this.findViewById(R.id.btn_demo);
        
        button.setOnClickListener(new View.OnClickListener() {
			
			@Override
			public void onClick(View arg0) {
				// TODO Auto-generated method stub
				Intent intent = new Intent();
				//关于Action的理解可以看上面
				intent.setAction(ACTION_DEMO_BROADCAST);
				intent.putExtra("msg", "我发送了广播,注意查收!");
				MainActivity.this.sendBroadcast(intent);
			}
		});
    }
}
 
package demo.broadcast;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.widget.Toast;

/**
 * 自定义一个广播接收器
 * 在onReceive()方法中处理
 * @author Administrator
 *
 */
public class DemoReceiver extends BroadcastReceiver {

	@Override
	public void onReceive(Context context, Intent intent) {
		//从Intent中接收信息
		String msg = intent.getStringExtra("msg");
		Toast.makeText(context, "新消息:"+msg, Toast.LENGTH_LONG).show();
	}

}
 
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="demo.broadcast"
      android:versionCode="1"
      android:versionName="1.0">
    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".MainActivity"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>


		<receiver android:name="DemoReceiver">
			<intent-filter>
				<action android:name="demo.broadcast.action.ACTION_DEMO_BROADCAST" />
				<category android:name = "android.intent.category.LAUNCHER" />
			</intent-filter>
		</receiver>
    </application>
    <uses-sdk android:minSdkVersion="8" />

</manifest> 
 
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<TextView  
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="@string/hello"
    />
    
<Button
	android:id="@+id/btn_demo" 
	android:layout_width="fill_parent" 
	android:layout_height="wrap_content" 
	android:text="测试广播事件" />
</LinearLayout>
 

    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
▪Android程序设计之AIDL实例详解
▪Android显式启动与隐式启动Activity的区别介绍
▪Android按钮单击事件的四种常用写法总结
▪Android消息处理机制Looper和Handler详解
▪Android实现Back功能代码片段总结
▪Android实用的代码片段 常用代码总结
▪Android实现弹出键盘的方法
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3