当前位置: 编程技术>移动开发
本页文章导读:
▪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
代码:
在layout文件夹下面新建一个example_widget.xml
代码:
AndroidManifest.xml布局文件
代码:
ExampleAppWidgetProvider.java代码
PS: 在模拟器中图片的界面上长按左键, 出现的菜单上选择Widget, 最后选择自己写得程序名字就好, 比如这个Appwidget
模拟器效果图
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
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
main.xml
group.xml
child.xml
效果图
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>
最新技术文章: