关闭

博客搬迁

本博客已迁往https://hugo-gao.github.io/。...
阅读(91) 评论(0)

初探Android 6.0动态权限管理

我的APP简记在豌豆荚上线之后,我叫同学帮我下载测试一下,结果却惊奇的发现在我的小米2s测试机上跑得好好的,在他们同样是小米,同样是MIUI8的手机上却不能调出拍照,会直接退出程序,也就是传说中的闪退,于是我把手机连上Android Studio调试,结果出现了这样的Log:open failed: EACCES (Permission denied); 后来我想到小米2s和小米5虽...
阅读(346) 评论(0)

Android调用相机和相册获取图片并存入数据库(反思)

最近在做项目的时候有一个需求,是要从相机中或相册中获取图片,而且还要将其存入SQLite,最开始的时候我想的是直接将图片存入数据库,但是后来在Google上发现不行,sqlite不支持这种类型,但是我看到了它支持Blob这种类型,也就是二进制,这种类型可以储存图片和视频,既然最基本的储存解决了,那么就开始动手写代码了。直接用模板代码调用相机和相册调用相机和相册是有模板代码的,可以考虑以后把它写成一个...
阅读(1214) 评论(0)

创建复合控件

创建复合控件是自定义View的一项基本技能,这里要介绍的不是简单的将控件在xml文件中拖到一起,而是可以自定义属性的。这里就以自定义的一个TopBar来当作例子,这个topbar有左右两个按钮,以及中间有个标题。创建自定义属性既然说到了自定义属性,那么我们就要自己写一个文件来描述我们需要自定义的属性。在Values文件夹下创建attrs.xml文件,我们就将属性写在里面。...
阅读(122) 评论(0)

RecyclerView和CardView的结合使用

现在貌似还在使用ListView貌似就有点out了,最近在做项目的时候发现了还有RecyclerView和CardView结合使用的优雅做法,最后做出来效果: 添加依赖 compile 'com.android.support:cardview-v7:23.1.1' compile 'com.android.support:design:24.0.0'每一个Item项CardView的布局Rec...
阅读(159) 评论(0)

Git命令合集

git config –global user.name “yourname” ——–提交你的用户名git config –global user.email “youremailname” ———–提交你的邮箱地址git config user.name ———-查看你当前的用户名git config user.email ————查看你当前邮箱名pwd ——————查看当前路径名gi...
阅读(84) 评论(0)

80行代码搞定菜单展开动画

其实实现动画效果是非常简单的,下面就使用ObjectAnimator来实现一个点击按钮向下展开菜单项的动画。制作布局文件首先我们要把我们的图片素材全部放到到一个帧布局中,将菜单键放在最上面。<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width=...
阅读(205) 评论(0)

onCreateContextMenu创建上下文菜单

所谓的上下文菜单就是一个你长按一个view,就会弹出一个菜单栏的东西,这玩意儿的使用非常简单。我们用listview来演示。创建上下文菜单由于Listview的所有选项名称都是放在一个List中的,所以我们需要自定义一个List如ArrayList来存放我们所有的选项名。 private ArrayListgetDate() { ArrayList<Strin...
阅读(102) 评论(0)

AlertDialog的几种用法

AlertDialog就是在屏幕上出现一个对话框,并且要获取当前Activity的焦点,也就是说只能在对话框中进行操作。单调的确认对话框这是最简单的一种dialog形式,可以在对话框里加入图片,标题,呢容,以及两个按钮。dialog都是用AlertDialog.Builder builder = new AlertDialog.Builder(this); 来进行创建的,需要在builder中定义好...
阅读(60) 评论(0)

android的消息处理机制(图+源码分析)——Looper,Handler,Message

转载...
阅读(60) 评论(0)

Handle的两种作用解析

按照我现在的理解的话,Handle我认为它是Android系统的传送器,文档中是这么的定义的A Handler allows you to send and process Message and Runnable objects associated with a thread's MessageQueue. 他可以在子线程中携带信息跳转到UI线程进行UI刷新,也可以携带信息到任意一个实现了Run...
阅读(783) 评论(0)

GestureDetector识别手势滑动

今天学习了使用GestureDetector进行手势识别,如果要进行手势识别,那么就必然要知道Android系统是如何识别动作的,见下图 : 我就在布局中放一个ImageView,就在这张图片上滑动。触发MotionEvent事件并监听MotionEvent事件是你手一放上屏幕就出发了的,由onTouchListener监听,由于我是在图片上进行滑动的所以这个监听器由imageview注册img....
阅读(115) 评论(0)

Service的两种启动方法

Service是Android的四大组件之一,四大组件每一件都要在AndroidManifest中进行注册。, Service可以脱离于Activity运行,也就是说不受Activity的控制,也可以和Activity绑定在一起,与Activity共存亡。这就是Service的两种启动方法。下图是Service的生命周期。Start方法启动首先创建一个Service类,继承自Service,取名就叫...
阅读(142) 评论(0)

Android之自定义View

自定义view是Android的一个重要技能,能自己订制出各式各样的图案。起大致步骤就是下图(来自慕课网).第一步—–设计需要的属性所谓设计需要的属性就是指在layout文件里一个控件拥有的各种属性,在values文件里新建一个xml文件叫”atts“,加入declare-styleable 标签,name取自己定义的view的名字。完整代码如下 <declare-st...
阅读(139) 评论(0)

Android数据储存之文件读写

Android的文件读写主要是通过操作输入输出流来完成的,例如这个例子,我要在EditText中输入一段字符,并在Textview显示出来。<EditText android:id="@+id/editText1" android:layout_width="wrap_content" android:layout_height="200dp"...
阅读(78) 评论(0)
26条 共2页1 2 下一页 尾页
    个人资料
    • 访问:8831次
    • 积分:337
    • 等级:
    • 排名:千里之外
    • 原创:25篇
    • 转载:1篇
    • 译文:0篇
    • 评论:0条