android开发,监听来电显示求解决!!!!!

NICK-BUG 2013-12-04 09:45:32
最近在做一个关于来电显示的监控,要实现,在有电话打来时,跳出一个悬浮框用来显示自己的一些提示信息,监控可以成功(监控不在Activity里面,是自定义方法通过广播实现),但悬浮框无法实现,怎么才能出来一个悬浮框,???求大神指导。。。。
public class TeleListenerReceiver extends BroadcastReceiver{

@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
Log.e("show", "加载广播");
TelephonyManager mTelePhonyMgr=(TelephonyManager)context.getApplicationContext().getSystemService(Context.TELEPHONY_SERVICE);
//获取系统服务
Log.e("show", "加载广播...");
mTelePhonyMgr.listen(new TeleListener(context), PhoneStateListener.LISTEN_CALL_STATE);
}

}
===============================================================
public class TeleListener extends PhoneStateListener {
private static String IMSI;
private Context context;
private WindowManager wm;
// private TextView tv;
LinearLayout mFloat;
LayoutInflater minflater;

public TeleListener(Context context) {
// TODO Auto-generated constructor stub
this.context = context;
}

@Override
public void onCallStateChanged(int state, String incomingNumber) {
// TODO Auto-generated method stub
Log.e("show", "通话监听");

super.onCallStateChanged(state, incomingNumber);

switch (state) {
case TelephonyManager.CALL_STATE_IDLE:
Log.e("show", "来点电话" + incomingNumber);
// 通话结束移除弹框
popPhoneRemover();
break;
case TelephonyManager.CALL_STATE_OFFHOOK:
Log.e("show", "电话刮起");
break;
case TelephonyManager.CALL_STATE_RINGING:
Log.e("show", "来点电话" + incomingNumber);
popPHone(incomingNumber);
break;
default:
break;
}
}

private void popPHone(String phone) {
wm = (WindowManager) context.getApplicationContext().getSystemService(
Context.WINDOW_SERVICE);
minflater = (LayoutInflater) context.getApplicationContext()
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
// minflater=LayoutInflater.from((Context)
// context.getApplicationContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE));
mFloat = (LinearLayout) minflater.inflate(R.layout.float_window, null);
// tv=(TextView) mFloat.findViewById(R.id.show);
// tv.setText(phone);
WindowManager.LayoutParams params = new WindowManager.LayoutParams();
params.type = WindowManager.LayoutParams.TYPE_PHONE;
params.flags = WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL
| WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE;
params.width = WindowManager.LayoutParams.WRAP_CONTENT;
params.height = WindowManager.LayoutParams.WRAP_CONTENT;
params.format = PixelFormat.RGBA_8888;

// wm.addView(mFloat, (android.view.ViewGroup.LayoutParams) wm);
wm.addView(mFloat, (LayoutParams) wm);

}

private void popPhoneRemover() {
wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
if (wm != null) {
wm.removeView(mFloat);
}
}

}
...全文
365 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
荒颜 2013-12-09
  • 打赏
  • 举报
回复
使用dialog可以么
NICK-BUG 2013-12-09
  • 打赏
  • 举报
回复
引用 8 楼 birdfly12345 的回复:
[quote=引用 7 楼 u011925823 的回复:] [quote=引用 5 楼 birdfly12345 的回复:] 刚才试了一下,没问题的。就是把button改成你自己定义的界面。另外要加上权限。
没有activity你的button怎么加进去的?另外我有自定义xml自己的页面啊。 minflater = (LayoutInflater) context.getApplicationContext() .getSystemService(Context.LAYOUT_INFLATER_SERVICE); mFloat = (LinearLayout) minflater.inflate(R.layout.float_window, null); [/quote] 界面显示的本质是WindowManager,就是说Toast和Activity组件的界面显示最终都是调用的WindowManager。所以你把界面写到WindowManager是可以的。[/quote]能给个简单的DEMO不?我自己定义的都不能实现。
coder_cp 2013-12-06
  • 打赏
  • 举报
回复
引用 7 楼 u011925823 的回复:
[quote=引用 5 楼 birdfly12345 的回复:] 刚才试了一下,没问题的。就是把button改成你自己定义的界面。另外要加上权限。
没有activity你的button怎么加进去的?另外我有自定义xml自己的页面啊。 minflater = (LayoutInflater) context.getApplicationContext() .getSystemService(Context.LAYOUT_INFLATER_SERVICE); mFloat = (LinearLayout) minflater.inflate(R.layout.float_window, null); [/quote] 界面显示的本质是WindowManager,就是说Toast和Activity组件的界面显示最终都是调用的WindowManager。所以你把界面写到WindowManager是可以的。
ameyume 2013-12-05
  • 打赏
  • 举报
回复
设置一个空的activity,在空的activity上显示你要显示的提示框。
NICK-BUG 2013-12-05
  • 打赏
  • 举报
回复
引用 5 楼 birdfly12345 的回复:
刚才试了一下,没问题的。就是把button改成你自己定义的界面。另外要加上权限。
没有activity你的button怎么加进去的?另外我有自定义xml自己的页面啊。 minflater = (LayoutInflater) context.getApplicationContext() .getSystemService(Context.LAYOUT_INFLATER_SERVICE); mFloat = (LinearLayout) minflater.inflate(R.layout.float_window, null);
NICK-BUG 2013-12-05
  • 打赏
  • 举报
回复
没有activity你的button怎么加进去的?另外我有自定义xml自己的页面啊。 minflater = (LayoutInflater) context.getApplicationContext() .getSystemService(Context.LAYOUT_INFLATER_SERVICE); mFloat = (LinearLayout) minflater.inflate(R.layout.float_window, null);
coder_cp 2013-12-05
  • 打赏
  • 举报
回复
刚才试了一下,没问题的。就是把button改成你自己定义的界面。另外要加上权限。
coder_cp 2013-12-05
  • 打赏
  • 举报
回复
http://blog.csdn.net/shinay/article/details/7783276 进行简单的修改就行了。
NICK-BUG 2013-12-05
  • 打赏
  • 举报
回复
你们说的我都知道,我有在尝试但还是没有成功。谢谢
欧阳帆54 2013-12-04
  • 打赏
  • 举报
回复
没有activity貌似弹不出浮窗吧,都没有设定一个具体的组件或者activity来参照浮窗弹出的位置,桌面或者启动器的桌面又不能捕捉的到,所以鄙人觉得做不到,至少得要有个activity
没有最全,只有更全!!! world版全面开放 0、ANDROID常用类库说明 6 1、ANDROID文件系统与应用程序架构 7 1.1、ANDROID 文件系统 7 1.2、ANDROID应用程序架构 9 2、ANDROID应用程序结构 11 2.1、ACTIVITY 12 2.1.1、概述 12 2.1.2、Activity的生命周期 15 2.1.3、Activity 的创建 16 2.1.4、Activity 的跳转(含Bundle传值) 17 2.1.5.Actvity 堆栈 18 2.1.6、Intent对象调用Activity实例 19 2.1.7、Activity透明 21 2.1.8、一次性关闭所有的Activity 22 2.1.9、PreferenceActivity 用法 22 2.1.10、Dialog风格的Activity 23 2.1.11、横竖屏切换不销毁当前Activity 23 2.2、INTENT RECEIVER 25 2.3、SERVICE 26 2.3.1、什么是Service 26 2.3.2、如何使用Service 27 2.3.3、Service的生命周期 32 2.3.4、判断服务开启状态 33 2.3.5、获取启动的服务 34 2.4、CONTENT PROVIDER 35 3、ANDROID UI LAYOUT 35 3.1、概述 35 3.2、线性布局(LINEAR LAYOUT) 36 3.3、相对布局(RELATIVE LAYOUT) 39 3.4、TABLELAYOUT 40 3.5、ABSOLUTELAYOUT 47 4、ANDROID UI 控件 48 4.1、IMAGEBUTTON 48 4.1.1、图案填充问题 48 4.2、TEXTVIEW 49 4.2.1、动态滚动 49 4.3、EDITTEXT 49 4.3.1、光标选择 49 4.4、TITLEBAR 50 4.4.1、非全屏状态下不显示title标题栏 50 4.4.2、标题栏进度指示器 50 4.4.3、titleBar 高级实现方法(更美观) 51 4.4.4、获取标题栏和状态栏高度 57 4.4.5、标题栏显示简单的进度框 57 4.5、MENU 58 4.5.1、简单的代码 58 4.5.2、menu实现的两种方法 58 4.5.3、自定义MENU背景 62 4.5.4、触发menu 64 4.5.5、Context Menu和Options Menu菜单的区别 64 4.5.6、Context menus for expandable lists 64 4.6、LISTVIEW 66 4.6.1、ListView自定义分割线 66 4.6.2、LIST例一 66 4.6.3、LIST例二 76 4.6.4、LIST例三 80 4.6.5、ListView 被选中item的背景颜色 82 4.6.6、ListView自定义背景颜色 83 4.6.7、List长按与短按消息映射 84 4.6.8、点击ListView改变背景色 87 4.6.9、自动滚动ListView 88 4.6.10、BaseExpandableListAdapter例 88 4.6.11、列表视图(List View) 96 4.6.12、NoteList 99 4.7、TAB与TABHOST 106 4.8、RATINGBAR 110 4.8.1、例一 110 4.8.2、例二 112 4.9、DATE/TIME SET 115 4.9.1、DatePicker/TimePicker 115 4.9.2、DatePickerDialog/TimePickerDialog 119 4.10、WEBVIEW 120 4.10.1、WebView的使用 120 4.11、SCROLLVIEW 121 4.11.1、ScrollView的使用 121 4.12、GRIDVIEW 124 4.12.1、GridView的使用 124 4.13、GAMEVIEW 127 4.13.1、显示到一个布局中 127 4.14、TOASTE 128 4.14.1、短时间显示 128 4.14.2、长时间显示 128 4.15、对话框 128 4.15.1、简单的对话框: 128 4.15.2、包含两个按钮的对话框 128 4.15.3、三个按钮的提示框 129 4.15.4、包含输入的dlg 131 4.15.5、圆形进度框 133 4.15.6、AlertDialog.Builder 133 4.15.7、模式对话框 134 4.16、拖动BUTTON获得位置 135 5、ANDROID UI 美化 137 5.1、简单美化BUTTON、IMAGEBUTTON、TEXTVIEW等控件 137 5.2、BUTTON美化案例☆ 139 5.3、IMAGEBUTTON 按下时的动画效果 142 5.4、滚动条显示与隐藏 143 5.5、LISTVIEW 与 SCROLLVIEW 解决办法 144 方法一:(重写ListView) 144 方法二: 150 5.6、3D魔方 151 6、ANDROID UI 动画 160 6.1、四种2D动画 160 6.1.1、透明度控制动画效果 alpha 160 6.1.2、旋转动画效果 rotate 161 6.1.3、尺寸伸缩动画效果 scale 162 6.1.4、位置转移动画效果 translate 163 6.1.5、四种动画效果的调用 164 7、异步调用 167 开辟一个线程: 167 THREAD: 168 HANDER 170 TIMER 173 ANDROID 界面刷新 174 MESSAGE HANDER 175 用法: 175 线程与子线程调用MessageHander 177 Messagehandler实例 177 8、数据存储与读取 179 1. PREFERENCES 179 2. FILES 180 3. DATABASES 180 4. NETWORK 183 5、CONTENTPROVIDER 183 6、执行SQL语句进行查询 188 用法1 188 其它: 188 详解: 189 查看SQLITE表格内容 192 9、常用功能的实现 193 9.1、获取手机型号以及系统版本号 193 9.2、更改应用程序图标 194 9.3、迎合不同的手机分辨率 194 9.4.ANDROID屏幕适应的四个原则 195 9.5、ANDROID常用单位 196 9.6、取得屏幕信息 197 9.7、横竖屏 197 9.8、程序完全全屏 200 9.8.1锁屏锁键盘 200 9.9、程序的开机启动 201 9.10、动态START页面 208 9.11、彻底退出当前程序 212 9.12、获取应用程序的名称,包名,版本号和图标 212 9.13、调用ANDROID INSTALLER 安装和卸载程序 215 9.14、后台监控应用程序包的安装&卸载 216 9.15、显示应用详细列表 224 9.16、寻找应用 224 9.17、注册一个BROADCASTRECEIVER 225 9.18、打开另一程序 225 9.19、播放默认铃声 225 9.20、设置默认来电铃声 226 9.21、位图旋转 227 9.22、手机震动控制 228 9.23、SENSOR2D感应实例 228 9.24、运用JAVA MAIL包实现发GMAIL邮件 230 9.26、ANDROID键盘响应 236 9.27、后台监听某个按键 238 9.28、VECTOR用法 239 9.29、CURSOR 242 9.30、把一个字符串写进文件 244 9.31、把文件内容读出到一个字符串 245 9.32、扫描WIFI热点演示实例教程 246 9.33、调用GOOGLE搜索 249 9.34、调用浏览器 载入某网址 249 9.35、获取 IP地址 249 9.36、从输入流中获取数据并以字节数组返回 250 9.37、通过ANDROID 客户端上传数据到服务器 251 9.38、文件下载类 255 9.39、下载文件的进度条提示 263 9.40、通过HTTPCLIENT从指定SERVER获取数据 265 9.41、通过FTP传输文件,关闭UI获得返回码 266 9.42、激活JAVASCRIPT打开内部链接 266 9.43、清空手机COOKIES 267 9.44、检查SD卡是否存在并且可以写入 267 9.45、获取SD卡的路径和存储空间 268 9.46、将程序安装到SD卡 268 9.47、创建一个SD映像 269 9.48、查看手机内存存储 269 9.49、在模拟器上调试GOOGLE MAPS 271 9.50、建立GPRS连接 273 9.51、获取手机位置 274 9.5* 获得经纬度,地名标注在地图上 274 9.52、获得两个GPS坐标之间的距离 276 9.53、通过经纬度显示地图 277 9.54、路径规划 277 9.55、将坐标传递到GOOGLE MAP并显示 277 9.56、获取本机电话号码 280 9.57、获得手机联系人 280 9.58、2.0以上版本查询联系人详细信息 282 9.59、2.0以上版本添加联系人 285 9.60、拨打电话 287 9.61、发送SMS、MMS 287 9.62、监听电话被呼叫状态 288 9.63、监听要拨打的电话(可以后台进行修改号码) 290 9.64、后台监听短信内容 291 9.65、删除最近收到的一条短信 292 9.66、调用发短信的程序 293 9.67、后台发送短信 293 9.68、调用发送彩信程序 294 9.69、发送EMAIL 294 9.70、播放多媒体 295 9.71、控制音量 296 9.72、定义CONTENTOBSERVER,监听某个数据表 302 9.73、打开照相机 303 9.74、从GALLERY选取图片 303 9.75、打开录音机 303 9.76、语音朗读 303 9.77、手机获取视频流显示在电脑上 305 9.78、蓝牙的使用 313 9.79、一个很好的加密解密字符串 316 9.80、DRAWABLE、BITMAP、BYTE[]之间的转换 318 9.81、高循环效率的代码 320 9.82、给模拟器打电话发短信 321 9.83、加快模拟器速度 321 9.83.1、模拟器 “尚未注册网络” 322 9.84、EMULATOR命令行参数 322 9.85、如何进行单元测试 323 9.86、ANDROID自动化测试初探 324 9.86.1、捕获Activity上的Element 324 9.86.2、Hierarchyviewer 捕获Element的 328 9.86.3、架构实现 330 9.86.4、模拟键盘鼠标事件(Socket+Instrumentation实现) 332 9.86.5、再述模拟键盘鼠标事件(adb shell 实现) 334 9.87、反编译APK 344 9.88、更换APK图标(签名打包) 348 9.89、利用ANDROID MARKET赚钱 363 9.90、ANDROID-MARKET 使用 365 9.91、传感器 369 9.91.1、获取手机上的传感器 369 9.91.2、 371 9.92、时间类 372 * 获得日期或时间字符串 372 * num天前的日期 373 * num天后的日期 373 * 判断 thingdate 的 dotime 天后是否在今天之后 374 * 判断testDate+testTime是否在两个时间之内 375 附录: 378 附录1、XML布局中的常用属性 378 1.通用属性 378 2.Edit Text部分属性 381 3.layout_alignParentRight android:paddingRight 384 附录2、INTENT ACTION 385 附录3、ANDROID的动作、广播、类别等标志 387 ★★★附带工具包说明 393 1.APK反编译工具.rar 393 2.APK安装工具.rar 393
本书以Android应用程序的开发为主题,并结合真实的案例向读者详细介绍了Android的基本组件的使用及应用程序开发的整个流程。本书的讲述由浅入深,实例全面并典型,几乎囊括了所有和Android应用相关的项目。全书分为18章,分别讲解了UI布局实例集锦、控件实例集锦、自动化服务实例集锦、数据存储实例集锦、电话和短信实例集锦、图形图像实例集锦、和网络有关的实例集锦、多媒体实例集锦、Google地图实例集锦、GoogleAPI实例集锦、平板应用实例集锦、游戏应用与程序优化。并且在本书最后,通过4个大型综合实例,分别介绍了开发手机地图系统、音乐播放器系统、NBA激情投篮游戏、综合邮件系统的基本过程。 目录: 第1章 UI布局开发实例集锦 1 实例001: 使用线性布局(LinearLayout) 来布局屏幕 1 实例002: 使用相对布局(RelativeLayout)来布局屏幕 3 实例003: 使用表格布局(TableLayout) 来布局屏幕 5 实例004: 使用绝对布局(AbsoluteLayout) 来布局屏幕 6 实例005: 使用标签布局(TabLayout)来 布局屏幕 8 实例006: 使用层布局(FrameLayout) 10 实例007: 创建一个桌面组件Widget 11 实例008: 在屏幕中实现一个按钮效果 12 实例009: 在屏幕中显示文字 13 实例010: 在屏幕中显示编辑框 17 实例011: 在屏幕中显示复选框 18 实例012: 在屏幕中显示单选框 21 实例013: 在屏幕中显示下拉列表框 22 实例014: 在屏幕中实现自动输入文本 效果 26 实例015: 使用日期选择器控件DatePicker 28 实例016: 自动选择一个输入时间 30 实例017: 实现屏幕自动滚动 32 实例018: 实现一个进度条效果 32 实例019: 开发一个评分程序 35 实例020: 在屏幕中显示一幅指定的图片 36 实例021: 设置一幅图片作为按钮来使用 38 实例022: 实现QQ空间中的显示照片 效果 40 第2章 控件开发实例集锦 44 实例023: 显示在文本框中输入的信息 44 实例024: 使用RadioGroup控件实现选 项选择功能 46 实例025: 使用CheckBox控件实现同意 条款效果 48 实例026: 使用Spinner控件实现选项选择 51 实例027: 使用Gallery控件实现个人相 簿功能 55 实例028: 开发一个文件搜索程序 58 实例029: 单击按钮后实现按钮置换 60 实例030: 模拟实现一个时钟界面效果 62 实例031: 联合使用DatePicker和TimePicker 来选择日期和时间 65 实例032:动态分隔手机屏幕 68 实例033:使用ListActivity实现动态菜单 列表 71 实例034:加载手机磁盘中的文件 73 实例035:实现抽屉样式效果 76 实例036:在屏幕中动态显示多种对话框 82 实例037:手机秘书--重要事情提醒 88 实例038:动态添加或删除菜单 96 实例039: 自定义Android控件实现单选 按钮 100 实例040: 使用自定义控件在屏幕中绘 制一条虚线 104 实例041: 在屏幕中实现手风琴效果 106 第3章 自动化服务实例集锦 109 实例042: 自动获取手机屏幕的分辨率 109 实例043: 自动获取手机电池的剩余电量 112 实例044: 来电时自动发送信息提醒 115 实例045: 获取手机存储卡的容量 119 实例046: 操作存储卡和内存卡中的数据 122 实例047: 设置闹钟 129 实例048: 实现黑名单来电自动静音处理 135 实例049: 设置一个自动开机界面 138 实例050: 更换手机屏幕背景图片系统 140 实例051: 设置自动更换手机桌面背景 144 实例052: 自动控制后台系统服务 154 实例053: 在屏幕中拖动一个按钮 157 第4章 数据存储实例集锦 163 实例054: 在屏幕中显示SharedPreferences 中存储的信息 163 实例055: 演示数据添加、删除等操作 165 实例056: 编写一个手机日记本程序 170 实例057: 使用ContentProvider开发一个 手机日记本 177 实例058: 使用文件保存数据 188 实例059: 将网上的图片保存到SD卡并在 手机中显示出来 190 实例060: 保存联系人信息 194 第5章 电话和短信实例集锦 197 实例061: 编写一个拨号程序 197 实例062: 发送一条短信 200 实例063: 单击按钮实现拨号功能 203 实例064: 一个通用发短信程序 206 实例065: 收到短信后用E-mail邮件进行 通知 210 实例066: 实现触屏拨号功能 214 实例067: 一个短信群发程序 215 实例068: 来电后自动发送邮件通知 219 实例069: 监听手机拨接状态 220 实例070: 检查短信是否发送成功 223 第6章 图形图像实例集锦 229 实例071: 在屏幕中绘制一个矩形 229 实例072: 在屏幕中绘制一个画布 232 实例073: 实现水纹的透明效果 235 实例074: 渲染几何图形 239 实例075: 用图片为背景实现动画效果 242 实例076: 在手机屏幕中实现Frame动画 效果 244 实例077: 对图片进行缩放处理 246 实例078: 旋转屏幕中的图片 250 实例079: 实现旗帜飞扬的效果 253 实例080: 模拟构建一个3D场景效果 258 实例081: 模拟实现粒子系统效果 261 实例082: 在Canvas中写文字 265 实例083: 移动屏幕中的图片 272 实例084:在屏幕中绘制一个三维圆柱体 276 实例085: 获取并显示图片的宽和高 285 实例086: 编写一个手机屏保程序 287 实例087: 以触摸方式移动图片 295 第7章 和网络有关的实例集锦 299 实例088: 传递HTTP参数 299 实例089: 在屏幕中使用HTML程序 303 实例090: 在手机中浏览网页 304 实例091: 使用内置浏览器打开网页 305 实例092: 显示QQ空间中的照片 307 实例093: 通过RSS系统在线浏览新闻 309 实例094: 下载网络图片作为手机背景 320 实例095: 将文件上传至服务器 323 实例096: 开发一个移动博客发布器 326 实例097: 远程下载并安装一个软件 331 实例098: 控制蓝牙系统 336 第8章 多媒体实例集锦 346 实例099: 播放一个指定的MP3文件 346 实例100: 调节手机音量的大小 350 实例101: 实现相机预览和拍照功能 353 实例102: 在手机中播放影片 360 实例103: 手机录音系统 363 实例104: 设置手机中的铃声 368 实例105: 在线播放网络中的MP3 371 实例106: 在线下载音乐作为手机铃声 379 实例107: 播放GIF格式的动画 385 实例108: 在手机中播放MP4视频 391 实例109: 在线观看3GP视频 394 第9章 Google地图实例集锦 403 实例110: 定位当前位置的坐标 403 实例111: 在手机中使用Google地图 406 实例112: 在地图中定位输入的坐标 413 实例113: 在地图中快速查询某个位置 416 实例114: 随着手机的移动自动更新位置 418 实例115: 在手机地图中描绘线路并计算 线路距离 423 实例116: 在Google地图中显示指定的 位置 430 实例117: 在手机地图中查询一个地址 432 实例118: 在手机中实现地址查询 434 实例119: 开发一个路径导航系统 438 第10章 Google API实例集锦 446 实例120: 模拟验证官方账号 446 实例121: 在手机中开发一个Google搜索 程序 453 实例122: 在手机中编写一个翻译软件 458 实例123: 生成一个二维码 460 实例124: 使用Google Chart API生成二 维码 463 第11章 平板应用 469 实例125: 开发一个音乐播放器 469 实例126: 开发一个在线天气播报系统 475 实例127: 开发一个网页浏览程序 485 实例128: 使用文件来保存音乐状态 491 实例129: 在屏幕中显示不同的进度条 效果 494 第12章 游戏应用 498 实例130: 一个简单的贪吃蛇游戏 498 实例131: 开发一个魔塔游戏 504 实例132: 疯狂足球游戏 524 第13章 Android程序优化 547 实例133: 测试计算机的性能 547 实例134: 测试内存性能 550 实例135: 优化Android模拟器 553 实例136: 使用merge标签优化UI界面 556 实例137: 优化Android Layout 559 实例138: 优化Bitmap图片 560 第14章 综合实例--手机地图系统 563 实例139: 使用Google地图开发一个综合 地图系统 563 14.1 项目分析 563 14.1.1 规划UI界面 563 14.1.2 数据存储设计 564 14.2 具体实现 565 14.2.1 新建工程 565 14.2.2 主界面 565 14.2.3 新建界面 567 14.2.4 设置界面 570 14.2.5 帮助界面 574 14.2.6 地图界面 576 14.2.7 数据存取 587 14.2.8 实现Service服务 592 14.3 发布自己的作品来赢利 594 14.3.1 申请成为会员 594 14.3.2 生成签名文件 597 14.3.3 使用签名文件 602 14.3.4 发布 604 第15章 综合实例--音乐播放器系统 605 实例140:开发一个音乐播放器 605 15.1 项目介绍 605 15.1.1 项目背景介绍 605 15.1.2 项目目的 606 15.1.3 对读者的意义 606 15.2 需分析 606 15.2.1 构成模块 606 15.2.2 功能结构图 609 15.2.3 系统功能说明 610 15.2.4 总体目标 610 15.3 设计数据库 611 15.3.1 字段设计 611 15.3.2 数据库连接 611 15.3.3 创建数据库 612 15.3.4 操作数据库 613 15.3.5 数据显示 614 15.4 具体编码 615 15.4.1 服务信息主界面 615 15.4.2 播放器主界面 616 15.4.3 播放列表功能 628 15.4.4 菜单功能模块 631 15.4.5 播放设置界面 634 15.4.6 设置显示歌词 638 15.4.7 文件浏览器模块 639 第16章 体育类游戏--NBA激情投篮 644 实例141:NBA激情投篮 644 16.1 项目介绍 644 16.1.1 意义和技术分析 644 16.1.2 策划游戏 645 16.1.3 准备工作 645 16.2 项目架构 646 16.2.1 总体架构 646 16.2.2 规划类 646 16.3 具体编码 648 16.3.1 编写主类LanqiuActivity 648 16.3.2 编写常量类 652 16.3.3 设计游戏试玩界面 658 16.3.4 绘制游戏场景 663 第17章 综合邮件系统 672 实例142:开发一个综合邮件系统 672 17.1 项目介绍 672 17.1.1 项目背景介绍 672 17.1.2 项目目的 672 17.2 系统需分析 673 17.2.1 构成模块 673 17.2.2 系统流程 675 17.2.3 功能结构图 676 17.2.4 系统功能说明 677 17.2.5 系统需 677 17.3 数据存储设计 677 17.3.1 用户信息类 678 17.3.2 SharedPreferences 682 17.4 具体编码 684 17.4.1 欢迎界面 684 17.4.2 系统主界面 687 17.4.3 邮箱类型设置 694 17.4.4 邮箱收取设置 697 17.4.5 邮箱发送设置 703 17.4.6 邮箱用户检查 708 17.4.7 设置用户别名 713 17.4.8 用户邮件编辑 716 17.5 总结 723
第1章 androi简介 1.1 初识android 1.1.1 历史背景 1.1.2 android特性 1.1.3 android组件结构 1.1.4 android应用程序框架 1.1.5 android的竞争优势 1.1.6 android模拟器 1.2 搭建android开发环境 1.2.1 准备工作 1.2.2 windows系统下的搭建过程 1.2.3 linux系统下的搭建过程 1.3 常见问题汇总 1.4 使用本书的配套实例 1.5 小结 第2章 android开发必备 2.1 android体系结构 2.1.1 各种库和android运行环境 2.1.2 应用程序框架 2.1.3 操作系统层 2.1.4 应用程序 2.2 android应用程序组成 2.2.1 activity 2.2.2 intent和intent filter 2.2.3 service介绍 2.2.4 broadcastintentreceiver 2.2.5 contentprovider 2.3 android应用项目文件组成 2.3.1 androidmanifest.xml文件 2.3.2 src目录 2.3.3 常量的定义文件 2.4 程序生命周期 2.4.1 android周期 2.4.2 android进程 2.5 activity的生命周期 2.5.1 activity状态 2.5.2 剖析activity 2.6 android进程和线程 2.6.1 进程 2.6.2 线程 2.6.3 远程调用(remote procedure calls) 2.7 intent消息传递 2.8 intent广播事件 2.8.1 广播事件 2.8.2 使用broadcast receiver监听广播 2.8.3 android本地广播 2.9 小结 第3章 设备界面演练 3.1 文字标签处理 3.2 改变屏幕窗口元素的背景颜色 3.3 改变textview的文字颜色 3.4 实现textview文字的替换 3.5 获取手机分辨率 3.6 样式修饰处理 3.7 按钮事件响应 3.8 页面间的转换 3.9 activity调用 3.10 多个activity间的数据传递 3.11 将数据返回到前一个activity 3.12 对话框交互处理 3.13 文字颜色置换 3.14 文字字体设置 3.15 拖动相片特效 3.16 简易计算器 3.17 about信息 3.18 加载中的程序 3.19 选择对话框 3.20 主题变换 3.21 小结 第4章 andfosd控件演练 4.1 实现文本处理 4.2 将背景图片作为按钮 4.3 用toast实现提示 4.4 用checkbox实现一个简单的物品清单 4.5 实现同意条款效果 4.6 radiogroup选择 4.7 imageview相框 4.8 spinner选择处理 4.9 gallery相簿 4.10 用.iava.io.file实现文件搜索 4.11 置换imagebutton按钮 4.12 实现autocompletetextview输入提示 4.13 实现analogclock时钟 4.14 时间选择 4.15 progressbar和handler进度条 4.16 动态排版处理 4.17 listactivity布局- 4.17.1 listactivity介绍 4.17.2 使用listactivity 4.18 matrix实现图片缩放 4.19 bitmap和matrix图片旋转 4.20 加载手机存储卡中的文件 4.21 小结 第5章 交互式服务 5.1 textview的花样 5.2 拨打电话程序 5.3 短信发送程序 5.4 e-mail发送程序 5.5 实现手机震动效果 5.6 图文提醒效果 5.7 状态栏提醒 5.8 检索通讯录 5.8.1 实现原理 5.8.2 contentprovider介绍 5.8.3 具体实现 5.9 文件管理 5.10 还原手机桌面 5.11 置换背景图 5.12 修改和删除文件 5.12.1 实现原理 5.12.2 java i/o基本类库介绍 5.12.3 具体实现 5.13 获取file和cache的路径 5.14 wi-fi服务 5.14.1 wi-fi简介 5.14.2 实现原理 5.14.3 具体实现 5.15 获取sim卡内信息 5.15.1 sim卡简介 5.15.2 实现原理 5.15.3 具体实现 5.16 触屏拨号 5.17 获取正在运行的程序 5.18 变换屏幕的方向 5.19 获取设备信息 5.20 小结 第6章 手机自动服务 6.1 实现短信提醒 6.2 剩余电量提醒 6.3 短信群发 6.4 短信e
0、ANDROID常用类库说明 6 1、ANDROID文件系统与应用程序架构 7 1.1、ANDROID 文件系统 7 1.2、ANDROID应用程序架构 9 2、ANDROID应用程序结构 11 2.1、ACTIVITY 12 2.1.1、概述 12 2.1.2、Activity的生命周期 15 2.1.3、Activity 的创建 16 2.1.4、Activity 的跳转(含Bundle传值) 17 2.1.5.Actvity 堆栈 18 2.1.6、Intent对象调用Activity实例 19 2.1.7、Activity透明 21 2.1.8、一次性关闭所有的Activity 22 2.1.9、PreferenceActivity 用法 22 2.1.10、Dialog风格的Activity 23 2.1.11、横竖屏切换不销毁当前Activity 23 2.2、INTENT RECEIVER 25 2.3、SERVICE 26 2.3.1、什么是Service 26 2.3.2、如何使用Service 27 2.3.3、Service的生命周期 32 2.3.4、判断服务开启状态 33 2.3.5、获取启动的服务 34 2.4、CONTENT PROVIDER 35 3、ANDROID UI LAYOUT 35 3.1、概述 35 3.2、线性布局(LINEAR LAYOUT) 36 3.3、相对布局(RELATIVE LAYOUT) 39 3.4、TABLELAYOUT 40 3.5、ABSOLUTELAYOUT 47 4、ANDROID UI 控件 48 4.1、IMAGEBUTTON 48 4.1.1、图案填充问题 48 4.2、TEXTVIEW 49 4.2.1、动态滚动 49 4.3、EDITTEXT 49 4.3.1、光标选择 49 4.4、TITLEBAR 50 4.4.1、非全屏状态下不显示title标题栏 50 4.4.2、标题栏进度指示器 50 4.4.3、titleBar 高级实现方法(更美观) 51 4.4.4、获取标题栏和状态栏高度 57 4.4.5、标题栏显示简单的进度框 57 4.5、MENU 58 4.5.1、简单的代码 58 4.5.2、menu实现的两种方法 58 4.5.3、自定义MENU背景 62 4.5.4、触发menu 64 4.5.5、Context Menu和Options Menu菜单的区别 64 4.5.6、Context menus for expandable lists 64 4.6、LISTVIEW 66 4.6.1、ListView自定义分割线 66 4.6.2、LIST例一 66 4.6.3、LIST例二 76 4.6.4、LIST例三 80 4.6.5、ListView 被选中item的背景颜色 82 4.6.6、ListView自定义背景颜色 83 4.6.7、List长按与短按消息映射 84 4.6.8、点击ListView改变背景色 87 4.6.9、自动滚动ListView 88 4.6.10、BaseExpandableListAdapter例 88 4.6.11、列表视图(List View) 96 4.6.12、NoteList 99 4.7、TAB与TABHOST 106 4.8、RATINGBAR 110 4.8.1、例一 110 4.8.2、例二 112 4.9、DATE/TIME SET 115 4.9.1、DatePicker/TimePicker 115 4.9.2、DatePickerDialog/TimePickerDialog 119 4.10、WEBVIEW 120 4.10.1、WebView的使用 120 4.11、SCROLLVIEW 121 4.11.1、ScrollView的使用 121 4.12、GRIDVIEW 124 4.12.1、GridView的使用 124 4.13、GAMEVIEW 127 4.13.1、显示到一个布局中 127 4.14、TOASTE 128 4.14.1、短时间显示 128 4.14.2、长时间显示 128 4.15、对话框 128 4.15.1、简单的对话框: 128 4.15.2、包含两个按钮的对话框 128 4.15.3、三个按钮的提示框 129 4.15.4、包含输入的dlg 131 4.15.5、圆形进度框 133 4.15.6、AlertDialog.Builder 133 4.15.7、模式对话框 134 4.16、拖动BUTTON获得位置 135 5、ANDROID UI 美化 137 5.1、简单美化BUTTON、IMAGEBUTTON、TEXTVIEW等控件 137 5.2、BUTTON美化案例☆ 139 5.3、IMAGEBUTTON 按下时的动画效果 142 5.4、滚动条显示与隐藏 143 5.5、LISTVIEW 与 SCROLLVIEW 解决办法 144 方法一:(重写ListView) 144 方法二: 150 5.6、3D魔方 151 6、ANDROID UI 动画 160 6.1、四种2D动画 160 6.1.1、透明度控制动画效果 alpha 160 6.1.2、旋转动画效果 rotate 161 6.1.3、尺寸伸缩动画效果 scale 162 6.1.4、位置转移动画效果 translate 163 6.1.5、四种动画效果的调用 164 7、异步调用 167 开辟一个线程: 167 THREAD: 168 HANDER 170 TIMER 173 ANDROID 界面刷新 174 MESSAGE HANDER 175 用法: 175 线程与子线程调用MessageHander 177 Messagehandler实例 177 8、数据存储与读取 179 1. PREFERENCES 179 2. FILES 180 3. DATABASES 180 4. NETWORK 183 5、CONTENTPROVIDER 183 6、执行SQL语句进行查询 188 用法1 188 其它: 188 详解: 189 查看SQLITE表格内容 192 9、常用功能的实现 193 9.1、获取手机型号以及系统版本号 193 9.2、更改应用程序图标 194 9.3、迎合不同的手机分辨率 194 9.4.ANDROID屏幕适应的四个原则 195 9.5、ANDROID常用单位 196 9.6、取得屏幕信息 197 9.7、横竖屏 197 9.8、程序完全全屏 200 9.8.1锁屏锁键盘 200 9.9、程序的开机启动 201 9.10、动态START页面 208 9.11、彻底退出当前程序 212 9.12、获取应用程序的名称,包名,版本号和图标 212 9.13、调用ANDROID INSTALLER 安装和卸载程序 215 9.14、后台监控应用程序包的安装&卸载 216 9.15、显示应用详细列表 224 9.16、寻找应用 224 9.17、注册一个BROADCASTRECEIVER 225 9.18、打开另一程序 225 9.19、播放默认铃声 225 9.20、设置默认来电铃声 226 9.21、位图旋转 227 9.22、手机震动控制 228 9.23、SENSOR2D感应实例 228 9.24、运用JAVA MAIL包实现发GMAIL邮件 230 9.26、ANDROID键盘响应 236 9.27、后台监听某个按键 238 9.28、VECTOR用法 239 9.29、CURSOR 242 9.30、把一个字符串写进文件 244 9.31、把文件内容读出到一个字符串 245 9.32、扫描WIFI热点演示实例教程 246 9.33、调用GOOGLE搜索 249 9.34、调用浏览器 载入某网址 249 9.35、获取 IP地址 249 9.36、从输入流中获取数据并以字节数组返回 250 9.37、通过ANDROID 客户端上传数据到服务器 251 9.38、文件下载类 255 9.39、下载文件的进度条提示 263 9.40、通过HTTPCLIENT从指定SERVER获取数据 265 9.41、通过FTP传输文件,关闭UI获得返回码 266 9.42、激活JAVASCRIPT打开内部链接 266 9.43、清空手机COOKIES 267 9.44、检查SD卡是否存在并且可以写入 267 9.45、获取SD卡的路径和存储空间 268 9.46、将程序安装到SD卡 268 9.47、创建一个SD映像 269 9.48、查看手机内存存储 269 9.49、在模拟器上调试GOOGLE MAPS 271 9.50、建立GPRS连接 273 9.51、获取手机位置 274 9.5* 获得经纬度,地名标注在地图上 274 9.52、获得两个GPS坐标之间的距离 276 9.53、通过经纬度显示地图 277 9.54、路径规划 277 9.55、将坐标传递到GOOGLE MAP并显示 277 9.56、获取本机电话号码 280 9.57、获得手机联系人 280 9.58、2.0以上版本查询联系人详细信息 282 9.59、2.0以上版本添加联系人 285 9.60、拨打电话 287 9.61、发送SMS、MMS 287 9.62、监听电话被呼叫状态 288 9.63、监听要拨打的电话(可以后台进行修改号码) 290 9.64、后台监听短信内容 291 9.65、删除最近收到的一条短信 292 9.66、调用发短信的程序 293 9.67、后台发送短信 293 9.68、调用发送彩信程序 294 9.69、发送EMAIL 294 9.70、播放多媒体 295 9.71、控制音量 296 9.72、定义CONTENTOBSERVER,监听某个数据表 302 9.73、打开照相机 303 9.74、从GALLERY选取图片 303 9.75、打开录音机 303 9.76、语音朗读 303 9.77、手机获取视频流显示在电脑上 305 9.78、蓝牙的使用 313 9.79、一个很好的加密解密字符串 316 9.80、DRAWABLE、BITMAP、BYTE[]之间的转换 318 9.81、高循环效率的代码 320 9.82、给模拟器打电话发短信 321 9.83、加快模拟器速度 321 9.83.1、模拟器 “尚未注册网络” 322 9.84、EMULATOR命令行参数 322 9.85、如何进行单元测试 323 9.86、ANDROID自动化测试初探 324 9.86.1、捕获Activity上的Element 324 9.86.2、Hierarchyviewer 捕获Element的 328 9.86.3、架构实现 330 9.86.4、模拟键盘鼠标事件(Socket+Instrumentation实现) 332 9.86.5、再述模拟键盘鼠标事件(adb shell 实现) 334 9.87、反编译APK 344 9.88、更换APK图标(签名打包) 348 9.89、利用ANDROID MARKET赚钱 363 9.90、ANDROID-MARKET 使用 365 9.91、传感器 369 9.91.1、获取手机上的传感器 369 9.91.2、 371 9.92、时间类 372 * 获得日期或时间字符串 372 * num天前的日期 373 * num天后的日期 373 * 判断 thingdate 的 dotime 天后是否在今天之后 374 * 判断testDate+testTime是否在两个时间之内 375 附录: 378 附录1、XML布局中的常用属性 378 1.通用属性 378 2.Edit Text部分属性 381 3.layout_alignParentRight android:paddingRight 384 附录2、INTENT ACTION 385 附录3、ANDROID的动作、广播、类别等标志 387 ★★★附带工具包说明 393 1.APK反编译工具.rar 393 2.APK安装工具.rar 393

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧