手势识别=读取手机联系人=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搜索算法, 那更好啊,大家一起研究研究,谢谢. 第一部分是比較简单的获取手机联系人. 获取 ...
随机推荐
- bzoj1264
表面上看这是一道LCS问题 LCS问题O(n2)的复杂度已经很优秀了 而这道题需要O(nlogn)以下的复杂度才能AC 所以我们要找经典问题的特殊性 特殊就在这两个串中,每个数字都是恰好出现5次 不难 ...
- Unity3D之Character Controller(CC)与GameObject的碰撞方法
先来一部分网上常见的内容(略整理): --------------------分隔线---------------------- Unity3d中参与碰撞的物体分2种类型: 一.发起碰撞的物体. 二. ...
- Android获取系统cpu信息,内存,版本,电量等信息
本文转自:http://www.cnblogs.com/brainy/archive/2012/05/30/2526752.html 1.CPU频率,CPU信息:/proc/cpuinfo和/proc ...
- (转载)查看三种MySQL字符集的方法
(转载)http://database.51cto.com/art/201010/229171.htm MySQL字符集多种多样,下面为您列举了其中三种最常见的MySQL字符集查看方法,该方法供您参考 ...
- android自动化(2)
使用monkeyrunner 自动化删除程序的时候出现如下错误 在任务管理器卸载android adb,Ok..然后再次使用的时候就出现这个问题, Try below steps: Close the ...
- selenium webdriver(2)---页面对象定位
webdriver的元素定位很灵活,提供了多种定位方式: Id LinkText PartialLinkText Name TagName Xpath ClassName CssSelector 这些 ...
- SWFUpload无刷新文件批量上传
一.首先将SWFUpload所有文件加入项目中,如图
- PAT 1078. Hashing
The task of this problem is simple: insert a sequence of distinct positive integers into a hash tabl ...
- 使用C++的开源序列化(Serialization)库cereal
博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:使用C++的开源序列化(Serialization)库cereal.
- SampleManager(赛默飞)