当前位置: 编程技术>移动开发
本页文章导读:
▪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>
最新技术文章: