手势识别=读取手机联系人=ContentResolver-Day3
手势识别=读取手机联系人=ContentResolverDay32
mobile3.0
- 手机设置向导页面
完成 - 选择器没有做
完成 - 样式提取
完成 - 自定义控件的优化
继续 - 抽取父类
Activity完成 - 手机读取联系人。
问题堆栈
- 自定义控件深入理解自定义
ListView - 是时候研究框架和设计
XUtils4个模块 - 明天仔细研究窗口过度动画。
4. 手势控制GestureDetector
手势在
Activity里面有一个onTouchEvent(MotionEvent event)方法,参数就是用户在屏幕上面的作用的是贱,MOtionEvent封装了许多手势定义的方法,我们通过定义GenntureDetector,监听SimpleOnGestureListener监听器中的onFing(....)滑动方法,具体实现如下
// 创建该Activity的时候
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
context = this;
requestWindowFeature(Window.FEATURE_NO_TITLE);
// 创建一个手势识别器
mGestureDetector = new GestureDetector(this, new SimpleOnGestureListener()
{
/*
* e1 表示第一次触摸事件, e2表示手纸离开时的事件 x 水平方向的速度 y,表示束值方向的速度
*/
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY)
{
// 如果监听成功返回true,监听失败返回false;
if (Math.abs(velocityX) < 100)
{
// pis/s 表示单位时间内划过的速度太慢
ToastUtil.show(context, "下一页请滑动快一点");
return true;
}
if (e1.getRawX() - e2.getRawX() > 200)
{
showNext();
overridePendingTransition(R.anim.tran_in, R.anim.tran_out);
return true;
}
if (e2.getRawX() - e1.getRawX() > 200)
{
showPre();
overridePendingTransition(R.anim.tran_in_pre, R.anim.tran_out_pre);
return true;
}
return super.onFling(e1, e2, velocityX, velocityY);
}
// 长按的监听
@Override
public void onLongPress(MotionEvent e)
{
new AlertDialog.Builder(context).setIcon(R.drawable.btn_check_off)
.setTitle("你长按了我的屏幕").setMessage("我很想知道你是想干嘛!").create().show();
}
});
}
@Override
public boolean onTouchEvent(MotionEvent event)
{
mGestureDetector.onTouchEvent(event);
// TODO Auto-generated method stub
return super.onTouchEvent(event);
}
- 动画设计
- 广播接收器复习
ViewPage,Pargment优化完成一半。晚上继续资料ViewPage是V4包里面的一个控件,如何更好的和Pargment使用需要一段时间的研究当中,我们会在晚上加油更努力的去学习。晚上录传智视频
自定义控件深入理解自定义ListView
ContentResolver类
这个类主要是Android用来实现数据共享的,一个应用程序可以将自己的数据完全暴露出去,靠的就是这个类,里面提供了。delete(),insert(),upDate,query()的方法。原理是什么?现在还不是太理解
心得
- 深一定要深入一点。
- 那一天花一早上的时间来研究界面设计
- 俩人1.0
- 看博客的时候一定要自己做总结笔记。效率才会高
准备设计一个发祝福短信的应用。Phone1.0
1.读取到你要发的人的名字。在短信前面会家乡个你存的电话的名字。这样可以假装你不是群发的。
手势识别=读取手机联系人=ContentResolver-Day3的更多相关文章
- Android 读取手机联系人、拨号、发送短信及长按菜单的操作
本示例实现了读取手机联系人,拨号.发送短信及长按出现菜单选项的操作↓ 1.Andrid项目结构图↓主要操作图中红色方框内的文件. 2.首先布局代码如下↓ a, main.xml 程序运行的主界面,主要 ...
- 读取手机联系人,并用listview显示
读取手机联系人,用到的就是一个contentprovider. 数据库里面有三张重要的表 raw_contact 里面有所有联系人的数据 data 每个联系人的所有数据 mime-type 每条数据的 ...
- Android使用READ_CONTACTS读取手机联系人
实例代码: package com.example.readcontacts; import java.io.InputStream; import java.util.ArrayList; impo ...
- Android项目——读取手机联系人信息
加入读取联系人信息的权限 <uses-permission android:name="android.permission.READ_CONTACTS"/> cont ...
- android131 360 05 手势触摸滑动,sim卡,开机启动的广播,手机联系人,SharedPreferences,拦截短信
安卓手势触摸滑动: package com.itheima52.mobilesafe.activity; import android.app.Activity; import android.con ...
- android利用ContentResolver访问者获取手机联系人信息
转载自:http://www.jb51.net/article/106379.htm 首先需要在AndroidManifest.xml文件中添加权限: <uses-permission andr ...
- Android-AsyncTask异步任务(获取手机联系人)
本篇随笔将讲解一下Android的多线程的知识,以及如何通过AsyncTask机制来实现线程之间的通信. 一.Android当中的多线程 在Android当中,当一个应用程序的组件启动的时候,并且没有 ...
- android: 通过内容提供器读取系统联系人
读取系统联系人 由于我们之前一直使用的都是模拟器,电话簿里面并没有联系人存在,所以现在需要自 己手动添加几个,以便稍后进行读取.打开电话簿程序,界面如图 7.1 所示. 图 7.1 可以看到,目前 ...
- 玩爆你的手机联系人--T9搜索(一)
自己研究了好几天联系人的T9搜索算法, 先分享出来给大家看看. 欢迎不吝赐教.假设有大神有更好的T9搜索算法, 那更好啊,大家一起研究研究,谢谢. 第一部分是比較简单的获取手机联系人. 获取 ...
随机推荐
- bzoj1444
显然自动机上高斯消元根据AC自动机上的转移可以列出一系列方程但这个样的方程解出来全0是一组解说明有线性组合的情况考虑除非没人能赢,否则每个人赢的概率和为1那么我们只要把原来的第一个方程换成这个即可 . ...
- Unix环境高级编程
1. windows下编辑的程序怎么上传到linux下执行? //Service vsftpd status查看linux ftp服务是否开启: Linuxi ip:192.168.40.128 打 ...
- ASPNET5中的那些K
ASPNET5中的那些K ASP.NET 5最大的变化是什么?首当其冲的就是多了很多K,K表示的是ASP.NET vNext的项目代号“Project K”,但很容易让人想到一个汉字——“坑”,希望K ...
- JavaScript高级程序设计43.pdf
事件类型 Web浏览器中有很多事件类型,“DOM3级事件”规定了以下几类事件 UI事件(用户界面),当用户与页面上的元素交互时触发: 焦点事件,当元素获得或失去焦点时触发 鼠标事件,当用户通过鼠标在页 ...
- 支持Python 2.7的pylot
想用pylot测试一下板子上面的嵌入式web server.结果报错. E:\pylot_1.26>run.py -a 2 Traceback (most recent call last): ...
- usaco 打扫食槽
Description 从前奶牛是不挑食的,但现在世道变了,她们变得非常挑剔.牧场里有N头奶牛,约翰 要向她们提供M种食物,第i头奶牛只会吃Pi号食物. 约翰每天都要打扫食槽,这件事非常累.奶牛沿着食 ...
- mysql 插入默认值的问题 sql-mode
刚好碰到如果不给默认值mysql数据就插入不成功的问题,后来百度了很多,试了下结果 把my.ini里面的[mysqld]的sql-mode 换成下面的一行,如果没有则添加 sql-mode=&quo ...
- 循环中continue和break的区别
continue是指跳出本次循环 进入下次循环 再来一次 break是指循环结束 再也不来了 可以用一个广告来解释这个区别 这是continue 房:Hi 郭:是你啊 房:我订的书到了吗 房:啊!对了 ...
- LINUX下解决netstat查看TIME_WAIT状态过多问题
来源:多3度热爱 的BLOG 查看连接某服务端口最多的的IP地址 netstat -nat |awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c ...
- (转)BAT及各大互联网公司2014前端笔试面试题--Html,Css篇
BAT及各大互联网公司2014前端笔试面试题--Html,Css篇 很多面试题是我自己面试BAT亲身经历碰到的.整理分享出来希望更多的前端er共同进步吧,不仅适用于求职者,对于巩固复习前端基础更是 ...