- 浏览: 385213 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (269)
- FY_UML (3)
- FY_JAVA (12)
- FY_JavaScript脚本 (7)
- FY_JSP (3)
- FY_Tapestry框架 (12)
- FY_Spring框架 (3)
- FY_Manager (5)
- FY_Junit(单元测试) (3)
- SERVER (14)
- FY_Struts2框架 (3)
- FY_SVN (2)
- FY_NoSQL (2)
- FY_jquery_sir (13)
- FY_hibernate_sir (8)
- FY_设计模式_sir (6)
- FY_Extjs_sir (10)
- FY_CI_sir (5)
- FY_Oracle_sir (11)
- FY_MySql_sir (10)
- FY_Hadoop_sir (3)
- FY_SOA_sir (1)
- 中文分词技术 (1)
- FY_Android (52)
- FY_架构 (2)
- FY_PhoneGap (2)
- FY_Webstorm (5)
- FY_Sencha Touch (3)
- HTML5应用快速开发 (1)
- FY_python (0)
- HADOOP (1)
- AI (0)
最新评论
-
antao592:
楼主,HkDataSourceWrapper中的getCurr ...
结合spring jdbc 实现分表分库的数据库访问构思 -
bonait:
不错,看看我的这个怎么样www.zipin168.com
So Easy京东商城 -
chenzheng8975:
...
So Easy京东商城 -
yzhenxing:
我导入demo后少com.google.android.gms ...
google地图demo -
echoaiya:
非常感谢~~
google地图demo
--------------------------------------------AndroidManifest.xml------------------------------
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.ch14"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="10"
android:targetSdkVersion="15" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/title_activity_main" >
<intent-filter>
<action android:name="com.ch14" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<receiver android:name=".MyAppWidgetProvider" >
<meta-data
android:name="android.appwidget.provider"
android:resource="@xml/appwidget_my" />
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" >
</action>
</intent-filter>
</receiver>
</application>
</manifest>
--------------------------------------------XML appwidget_my.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 = "0"
android:initialLayout = "@layout/myappwidgetlayout"
>
</appwidget-provider>
<!-- updatePeriodMillis = 0 为手动更新 -->
--------------------------------------------Layout activity_main.xml------------------------
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:text="@string/hello_world"/>
</RelativeLayout>
--------------------------------------------Layout myappwidgetlayout.xml-----------------
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<Button
android:id="@+id/txtapp"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="send........" >
</Button>
</LinearLayout>
--------------------------------------------MainActivity.java---------------------------------
package com.ch14;
import android.app.Activity;
import android.os.Bundle;
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
--------------------------------------------MyAppWidgetProvider.java-----------------------
package com.ch14;
import com.ch14.util.LogOut;
import android.app.PendingIntent;
import android.appwidget.AppWidgetManager;
import android.appwidget.AppWidgetProvider;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.widget.RemoteViews;
/**
*
* 项目名称:com.ch14
* 类名称:MyAppWidgetProvider
* 类描述: 自定义窗口小部件
* 创建人:方勇
* 创建时间:2012-11-22 下午9:05:00
* Copyright (c) 方勇-版权所有
*/
public class MyAppWidgetProvider extends AppWidgetProvider {
/* 接受广播事件 */
@Override
public void onReceive(Context context, Intent intent) {
LogOut.out(this, "onReceive()");
/* 只能通过远程对象来设置MyAppWidgetProvider中的控件状态 */
RemoteViews remoteViews = new RemoteViews(context.getPackageName(), R.layout.myappwidgetlayout);
/* 管理AppWidgetProvider,以便进行更新操作 */
AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(context);
/* 获得本程序创建的appwidget */
ComponentName componentName = new ComponentName(context, MyAppWidgetProvider.class);
/* 更新appwidget */
appWidgetManager.updateAppWidget(componentName, remoteViews);
super.onReceive(context, intent);
}
/* 组件被放置到桌面上时,或者刷新时间到达时调用 */
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
LogOut.out(this, "onUpdate()");
RemoteViews remoteViews = new RemoteViews(context.getPackageName(), R.layout.myappwidgetlayout);
Intent intent = new Intent();
intent.setAction("com.ch14");
/*
* 延迟执行的INTENT
*
* 1、常使用的是FLAG_UPDATE_CURRENT,因为描述的Intent有更新的时候需要用到这个flag去更新你的描述,
* 否则组件在下次事件发生或时间到达的时候extras永远是第一次Intent的extras。
*
* 2、使用FLAG_CANCEL_CURRENT也能做到更新extras,只不过是先把前面的extras清除
*
* 3、FLAG_CANCEL_CURRENT和FLAG_UPDATE_CURRENT的区别在于能否new一个Intent,
* FLAG_UPDATE_CURRENT能够new一个Intent,而
* FLAG_CANCEL_CURRENT则不能,只能使用第一次的Intent。
*
* 4、(比较少用)
* FLAG_ONE_SHOT获取的PendingIntent只能使用一次,再使用PendingIntent也将失败
* FLAG_NO_CREAT获取的PendingIntent描述的Intent不存在则返回NULL值.
*
*/
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
/* 通过PendingIntent和mRemoteViews.setOnClickPendingIntent为AppWidget中的Button设置监听器 */
remoteViews.setOnClickPendingIntent(R.id.txtapp, pendingIntent);
remoteViews.setTextViewText(R.id.txtapp, "A07");
appWidgetManager.updateAppWidget(appWidgetIds, remoteViews);
super.onUpdate(context, appWidgetManager, appWidgetIds);
}
/* 删除一个AppWidget组件时被调用 */
@Override
public void onDeleted(Context context, int[] appWidgetIds) {
LogOut.out(this, "onDeleted()");
super.onDeleted(context, appWidgetIds);
}
/* AppWidget的实例第一次被创建时调用 */
@Override
public void onEnabled(Context context) {
LogOut.out(this, "onEnabled()");
super.onEnabled(context);
}
/* 最后一个AppWidget组件被删除时调用 */
@Override
public void onDisabled(Context context) {
LogOut.out(this, "onDisabled()");
super.onDisabled(context);
}
}
--------------------------------------------LogOut.java---------------------------------------
package com.ch14.util;
import android.util.Log;
/**
*
* 项目名称:com.ch14
* 类名称:LogOut
* 类描述: 指定日志输出格式
* 创建人:方勇
* 创建时间:2012-11-22 下午9:35:41
* Copyright (c) 方勇-版权所有
*/
public class LogOut {
public static final String TAG = "A07";
private static final boolean DEBUG = true;
public static void out(Object obj, String info) {
if (DEBUG) {
String tag = TAG;
if (info.startsWith("length")) {
tag = TAG + "_TMP";
}
if (obj instanceof String) {
Log.d(tag, ((String) obj) + "->" + info);
} else {
Log.d(tag, obj.getClass().toString().substring(6) + "->" + info);
}
}
}
public static void out(Object obj, String tag, String info) {
if (DEBUG) {
if (obj instanceof String) {
Log.d(TAG + "_" + tag, ((String) obj) + "->" + info);
} else {
Log.d(TAG + "_" + tag, obj.getClass().toString().substring(6)
+ "->" + info);
}
}
}
}
--------------------------------------------结果------------------------------------------------
1、长按桌面(或选中桌面的某个位置,长按鼠标左键)
2、弹出对话框
3、选中后,桌面多了个按钮部件
4、双击AppWidget
发表评论
-
史上最快 Android N(安卓7.0)运行效率暴增至600%
2016-10-15 10:08 927谷歌I/O 2016开发者大会在公司总部正式拉开 ... -
So Easy京东商城
2014-12-10 16:51 1578So Easy京东商城 我和17位小伙伴们 ... -
过期Gallery取代方案horizontalscrollView之菜单导航效果
2014-03-23 16:19 2413效果 ------------------------- ... -
过期Gallery取代方案horizontalscrollView之京东效果
2014-03-23 15:57 3880效果 ------------------------- ... -
过期Gallery取代方案horizontalscrollView之幻灯片效果
2014-03-21 17:33 2621效果 ------------------------- ... -
tabhostandbadgeview
2014-03-19 13:45 1033效果 -------------------------- ... -
Android优秀开源项目大全
2014-03-18 15:17 1983以下是开源项目 1、and ... -
Android分页控件xlistview
2014-03-18 14:51 1673strings.xml ----------------- ... -
过期Gallery取代方案horizontalscrollView之普通画廊
2014-03-17 22:48 2441activity_main.xml ---------- ... -
viewpage
2014-03-17 18:08 1058strings.xml ----------------- ... -
FragmentStatePagerAdapter分页
2014-03-17 17:27 804ViewPager ViewPager 如 ... -
FragmentPagerAdapter与FragmentStatePagerAdapter差异
2014-03-17 17:20 1316简介 平常使用的FragmentPagerAdapter和F ... -
抽屉菜单
2014-03-16 12:51 1843strings.xml ----------------- ... -
px和dip以及sp的区别
2014-03-08 17:01 717显示单位px和dip以及sp的区别 dip: devi ... -
fragment生命周期
2014-03-06 16:59 890Fragment必须被写成可重用的模块。因为fragmen ... -
过期API_AlertDialog
2014-03-02 10:07 1151layout----------------------- ... -
Android_Jni 操作指南
2014-01-10 14:45 948Android_Jni 操作指南 NDK(Nati ... -
各种各样圆形进度条
2013-11-11 16:30 562http://www.apkbus.com/android-1 ... -
红杏出墙__实训版
2013-04-20 18:59 1082红杏出墙__实训版 -
google地图demo
2013-04-09 14:25 3202---------------------------- ...
相关推荐
标题中的"CH341SER_ANDROID.ZIP_340手机驱动_CH341SER_ANDROID_CH34xUARTDemo_ch34"表明这是一个与CH341系列USB转UART(通用异步收发传输器)驱动相关的压缩包,主要用于Android设备。其中"340手机驱动"指的是该驱动...
CH341SER_ANDROID(CH34XUARTDriver.jar),配有CH34X系列芯片串口Android程序开发文档,如何使用芯片的 USB 转异步串口功能(以下简称 CH34XUART)以及 GPIO 功能,以及 Android 下如何使用 APK 操作实现串口通讯。...
安卓接CH340实现串口通信源码,可设置波特率等参数
在Android App开发领域,入门是每个开发者必经的阶段。这个"Android App开发入门范例程序"集合提供了多个章节的学习材料,旨在帮助新手快速掌握Android应用的基础开发技能。以下是各个章节和FlagAPI部分可能涉及的...
《Android CH34xUARTDemo: USB Host OTG 转口模块详解》 在现代移动设备中,Android操作系统以其开放性和灵活性深受开发者喜爱。在Android系统中,USB Host功能允许设备连接并控制其他USB设备,如键盘、鼠标或者...
本实例探讨了如何使用CH559 USB单片机实现与Android设备的通讯,利用Android Open Accessory Protocol 2.0 (AOA 2.0) 协议进行数据交换。这一技术允许开发人员创建兼容Android系统的外部硬件设备,从而拓展手机或...
"CH341 Android代码"这个标题暗示了我们即将探讨的是与Android应用程序开发相关的源代码,可能是一个项目、一个库或者一个工具的实现。在这个场景中,CH341可能是项目代号或者是某个硬件接口(如CH341芯片,常用于...
本资源“android 串口通信转usb的jar包CH34xUARTDriver.zip”提供了一个解决此问题的解决方案,它包含了实现Android设备通过USB接口与采用CH34x系列芯片(如CH340、CH341)的串口设备进行通信的Java库。 CH34x系列...
本资料包“Android APP开发入门:使用Android Studio环境 配套范例程序7-12章”正是针对初学者设计的,旨在帮助他们掌握Android Studio的基础操作以及核心开发技术。 首先,让我们从Ch07开始,这一章通常会涵盖UI...
在Android平台上进行CH34x芯片的USB通信是嵌入式开发中的常见任务,尤其对于需要与硬件设备交互的应用来说。CH34x系列芯片是由韦尔奇科技(Wch Chip)开发的一组USB到串口控制器,广泛用于USB转串口适配器,使得通过...
本示例“安卓系统USB转串口_CH340驱动小Demo”聚焦于如何利用CH340芯片在Android设备上实现这一功能。CH340是一款广泛使用的通用串行总线(USB)到串行接口转换器,它允许我们将标准的串行通信接口(如RS-232)与USB...
标题 "CH341SER_ANDROID[官方demo].zip" 暗示了这是一个与CH341SER设备驱动相关的Android应用程序的官方演示示例。CH341SER是一款USB到串口控制器,常用于电子爱好者和开发者的项目中,如Arduino和其他微控制器的...
标题中的“CH341 serial for android”指的是一个专为Android设备设计的驱动程序或应用程序,它使得用户能够在具有OTG(On-The-Go)功能的Android手机或平板电脑上使用CH341系列USB转串口模块。CH341系列芯片是由...
"Android APP开发入门:使用Android Studio环境 配套范例程序13-16章"是一个面向初学者的学习资源,包含13至16章的实例代码,帮助理解Android开发的基础概念和技术。 第13章通常涉及用户界面(UI)设计,这在...
CH340/CH341的USB转串口安卓免驱应用库,用于Android操作系统3.1及以上版本的USB Host模式,无需加载Android内核驱动,无需root权限操作。包含apk安装程序,lib库文件(Java Driver),App Demo例程(USB转UART Demo...
标题中的"CH34xUARTDemo1.zip"表明这是一个与CH34x串口通信相关的示例项目,可能包含了用于演示如何在Android设备上通过CH340芯片与STM32微控制器进行串行通信的代码和驱动程序。CH340是一款常见的USB转串口芯片,常...
在这种情况下,"Android CH34X串口转USB.zip"是一个关键资源,它包含了一个解决方案,允许开发者通过Android设备连接并控制使用CH341芯片的串口转USB设备。CH341芯片是一种常用的接口转换器,能够将串行通信接口(如...
本章"ch05 Android布局"着重探讨如何有效地设计和管理Android应用的用户界面,包括基本布局管理器、自定义布局以及性能优化策略。 一、基础布局管理器 Android提供了多种内置的布局管理器,如线性布局...
本项目“Android USB通信app”旨在实现Android设备与单片机之间的数据交互,这里单片机采用的是Arduino AVR芯片。这个APP是开发者为了方便用户通过Android设备控制和通信 Arduino板而设计的。 首先,我们需要理解...
该资源包含CH03至CH05章节的源码,为开发者提供了丰富的学习素材,旨在帮助他们更好地理解和掌握Android SDK的各种功能和特性。 CH03章节通常会涵盖Android应用的基本架构和组件,例如Activity、Intent、Service、...