当前位置:  编程技术>移动开发
本页文章导读:
    ▪Widget容易的例子        Widget简单的例子 模拟器效果图AppWidgetProvideronUpdate:在到达指定更新时间后或者向桌面添加App Widget时会调用该方法.onDeleted:当App Widget被删除, 会调用该方法onEnabled:当一个App Widget的实例第一.........
    ▪ ContentProvider学习小结        ContentProvider学习总结 0.http://xuyuanshuaaa.iteye.com/blog/9737551.http://hi.baidu.com/yangduoliver/blog/item/a95efcf2577f1b06b07ec5c6.html2.http://blog.csdn.net/zeng622peng/article/details/61571793.Notepad Tutorialhttp://developer.android.c.........
    ▪ ExpandableListView事例       ExpandableListView例子 效果图ExpandablelistviewActivity.javapackage com.expandlistview2; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import android.app.Activity; import android.os.Bundl.........

[1]Widget容易的例子
    来源: 互联网  发布时间: 2014-02-18
Widget简单的例子
模拟器效果图


AppWidgetProvider
onUpdate:在到达指定更新时间后或者向桌面添加App Widget时会调用该方法.
onDeleted:当App Widget被删除, 会调用该方法
onEnabled:当一个App Widget的实例第一次被创建, 会调用该方法
onDisabled:当最后一个App Widget实例被删除后, 会调用该方法
onRecevie: 接收广播事件

首先在res下面新建一个文件夹(xml). 在文件夹下新建example_widget_info.xml
代码:
<?xml version="1.0" encoding="utf-8"?>
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
	android:minWidth="294dp" android:minHeight="72dp"
	android:updatePeriodMillis="86400000" android:initialLayout="@layout/example_widget">

</appwidget-provider>


在layout文件夹下面新建一个example_widget.xml
代码:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
	android:orientation="vertical" android:layout_width="match_parent"
	android:layout_height="match_parent">
	<TextView android:text="firstWidgetText" android:background="#000000"
		android:id="@+id/widgetTextId" android:layout_width="fill_parent"
		android:layout_height="wrap_content"></TextView>

</LinearLayout>


AndroidManifest.xml布局文件
代码:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.cn"
      android:versionCode="1"
      android:versionName="1.0">
    <uses-sdk android:minSdkVersion="10" />

    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".AppwidgetActivity"
                  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="ExampleAppWidgetProvider">
        	<!-- 指定广播接收 -->
            <intent-filter>
                <action android:name="android.appwidget.action.APPWIDGET_UPDATE"></action>
            </intent-filter>
            <!-- appwidget的源文件 -->
            <meta-data android:name="android.appwidget.provider" android:resource="@xml/example_appwidget_info"></meta-data>
        </receiver>

    </application>
</manifest>


ExampleAppWidgetProvider.java代码
package com.cn;

import android.appwidget.AppWidgetManager;
import android.appwidget.AppWidgetProvider;
import android.content.Context;
import android.content.Intent;

public class ExampleAppWidgetProvider extends AppWidgetProvider {

	@Override
	public void onDeleted(Context context, int[] appWidgetIds) {
		System.out.println("onDeleted");
		super.onDeleted(context, appWidgetIds);
	}

	@Override
	public void onDisabled(Context context) {
		System.out.println("onDisabled");
		super.onDisabled(context);
	}

	@Override
	public void onEnabled(Context context) {
		System.out.println("onEnabled");
		super.onEnabled(context);
	}

	@Override
	public void onReceive(Context context, Intent intent) {
		System.out.println("onReceive");
		super.onReceive(context, intent);
	}

	@Override
	public void onUpdate(Context context, AppWidgetManager appWidgetManager,
			int[] appWidgetIds) {
		System.out.println("onUpdate");
		super.onUpdate(context, appWidgetManager, appWidgetIds);
	}

}


PS: 在模拟器中图片的界面上长按左键, 出现的菜单上选择Widget, 最后选择自己写得程序名字就好, 比如这个Appwidget

    
[2] ContentProvider学习小结
    来源: 互联网  发布时间: 2014-02-18
ContentProvider学习总结
0.http://xuyuanshuaaa.iteye.com/blog/973755

1.http://hi.baidu.com/yangduoliver/blog/item/a95efcf2577f1b06b07ec5c6.html

2.http://blog.csdn.net/zeng622peng/article/details/6157179

3.Notepad Tutorial
http://developer.android.com/resources/tutorials/notepad/index.html

4.
http://developer.android.com/guide/topics/providers/content-providers.html

    
[3] ExpandableListView事例
    来源: 互联网  发布时间: 2014-02-18
ExpandableListView例子
效果图


ExpandablelistviewActivity.java
package com.expandlistview2;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ExpandableListView;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.SimpleExpandableListAdapter;

public class Expandlistview2Activity extends Activity {
	ExpandableListView act;
	List<Map<String,String>> groups;
	List<List<Map<String,String>>> childs;
	SimpleExpandableListAdapter sla;
	/** Called when the activity is first created. */  
    @Override  
    public void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.main);  
          
        act = (ExpandableListView)findViewById(R.id.expandlist);
        groups = new ArrayList<Map<String,String>>();  
        Map<String,String> group1 = new HashMap<String,String>();  
        group1.put("group", "group1");  
        Map<String,String> group2 = new HashMap<String,String>();  
        group2.put("group", "group2");  
        groups.add(group1);  
        groups.add(group2);  
          
        List<Map<String,String>> child1 = new ArrayList<Map<String,String>>();  
        Map<String,String> childData1 = new HashMap<String, String>();  
        childData1.put("child", "child1Data1");  
        Map<String,String> childData2 = new HashMap<String, String>();  
        childData2.put("child", "child1Data2");  
        child1.add(childData1);  
        child1.add(childData2);  
          
        List<Map<String,String>> child2 = new ArrayList<Map<String,String>>();  
        Map<String,String> child2Data1 = new HashMap<String, String>();  
        child2Data1.put("child", "child2Data1");  
        Map<String,String> child2Data2 = new HashMap<String, String>();  
        child2Data2.put("child", "child2Data2");  
        child2.add(child2Data1);  
        child2.add(child2Data2);  
          
        childs = new ArrayList<List<Map<String,String>>>();  
        childs.add(child1);  
        childs.add(child2);  
        //生成对象  
        //1.context  
        //2.一级条目数据  
        //3.用来设置一级条目样式的布局文件  
        //4.指定一级条目数据的Key  
        //5.指定一级条目数据显示的group控件id  
        //6.指定二级条目数据  
        //7.用来设置二级条目样式的布局文件  
        //8.指定二级条目数据的key  
        //9.指定二级条目数据显示的控件的id  
        sla = new SimpleExpandableListAdapter  
                (this, groups, R.layout.group, new String[]{"group"}, new int[]{R.id.groupId},   
                        childs, R.layout.child, new String[]{"child"}, new int[]{R.id.childId});  
        act.setAdapter(sla);  
        System.out.println("act.getChildCount():"+act.getCount());;
        for (int i = 0; i < sla.getGroupCount(); i++) {
        	System.out.println("i:"+i);
			act.expandGroup(i);
		}
        //设置为null则去掉箭头
//        act.setGroupIndicator(null);
        //子节点的监听事件
        act.setOnChildClickListener(new ExpandableListView.OnChildClickListener() {
            public boolean onChildClick(ExpandableListView expandableListView, View view, int i, int i1, long l) {
            	System.out.println("i:"+i+"   i1:"+i1+"   l:"+l);
                HashMap m = (HashMap) sla.getChild(i, i1);
                System.out.println("m:"+m);
//                String albumid = (String) m.get(NAME);
//                Toast.makeText(Main.this, albumid, Toast.LENGTH_SHORT).show();
                return false;  //todo
            }
        });
        //父节点的监听事件
        act.setOnGroupClickListener(new ExpandableListView.OnGroupClickListener() {
			@Override
			public boolean onGroupClick(ExpandableListView parent, View v,
					int groupPosition, long id) {
				System.out.println("v:"+v);
				return false;
			}
		});
    }  
    public void expandClick(View v){
    	Map<String,String> group1 = new HashMap<String,String>();  
        group1.put("group", "group3");
        groups.add(group1);  
        List<Map<String,String>> child1 = new ArrayList<Map<String,String>>();  
        Map<String,String> childData1 = new HashMap<String, String>();  
        childData1.put("child", "child3Data1");  
        Map<String,String> childData2 = new HashMap<String, String>();  
        childData2.put("child", "child3Data2");  
        child1.add(childData1);  
        child1.add(childData2);  
        childs.add(child1);  
        
        Map<String,String> childData = new HashMap<String, String>();  
        childData.put("child", "child1Data22");  
        childs.get(1).add(childData);
        sla.notifyDataSetChanged();
        System.out.println("===:"+sla.getGroupCount());
    }
}


main.xml
<?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" />
	<ExpandableListView android:id="@id/android:list"
		android:layout_height="fill_parent" android:layout_width="fill_parent" android:drawSelectorOnTop="false" ></ExpandableListView>
</LinearLayout>


group.xml
<?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_height="50px" android:layout_width="fill_parent"
		android:id="@+id/groupId" android:paddingLeft="50dip" android:text="TextView"
		android:gravity="fill_vertical"></TextView>

</LinearLayout>


child.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
	android:orientation="vertical" android:layout_width="match_parent"
	android:layout_height="match_parent">
	<TextView android:layout_height="wrap_content"
		android:layout_width="match_parent" android:id="@+id/childId"
		android:paddingLeft="80px" android:paddingTop="5px"
		android:paddingBottom="5px" android:text="TextView"></TextView>

</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