摘要:根据上一节代码里,加入一个录音功能,上传到服务器,就能实现一个录制器 当手机处于通话状态时,开启录音机 获取MediaRecorder对象,通过new出来 调用MediaRecorder对象的setAudioSource()方法,设置音频源, 参数:MediaRecorder.AudioSource 阅读全文
posted @ 2016-03-29 21:46 陶士涵 阅读(303) 评论(0) 推荐(0) 编辑
摘要:服务:在后台长期运行的没有界面的组件 新建一个类PhoneService类,继承系统的Service类 清单文件中 进行配置 新建一个节点<service>,设置名称android:name=”.PhoneService” 类里面有几个重要方法 onCreate()方法,服务被创建的时候调用 onD 阅读全文
posted @ 2016-03-28 23:32 陶士涵 阅读(2448) 评论(0) 推荐(0) 编辑
摘要:上一节的短信拦截在4.0以上系统中无效,可以使用这种办法实现,定义一个activity,清单文件中指定主题为透明,在onCreate()方法里面直接调用finsh()方法,关掉,这样可以就可以实现了 应用场景:比如车载电脑,里面有很多应用,有些应用需要发射信号给某一个广播接收者 新建一个广播接收者, 阅读全文
posted @ 2016-03-28 22:06 陶士涵 阅读(185) 评论(0) 推荐(0) 编辑
摘要:代码: 效果图: 阅读全文
posted @ 2016-03-28 17:25 陶士涵 阅读(566) 评论(0) 推荐(0) 编辑
摘要:比较重要的一个广播事件,短信 界面布局,比如播放视频,默认是横屏全屏的,清单文件中进行设置, 在<activity/>节点设置屏幕朝向属性,android:screenOrientation=”landscape” 设置主题android:theme=”@android:style/Theme.No 阅读全文
posted @ 2016-03-27 22:01 陶士涵 阅读(216) 评论(0) 推荐(0) 编辑
摘要:广播接收者,broadcast receiver,安卓系统在使用时会产生很多的事件,比如:短信到来,电量低,拨打电话等等 界面布局,线性布局,EditText指定为电话号码,设置属性android:inputType=”phone” 获取SharedPreference对象,调用getSharedP 阅读全文
posted @ 2016-03-27 21:07 陶士涵 阅读(956) 评论(0) 推荐(0) 编辑
摘要:下载压缩包,解压缩,好,安装完成 进入解压目录/bin/下面,找到startup.bat,双击,此时如果报错,那么就是没有设置环境变量JAVA_HOME,进入环境变量去设置,JAVA_HOME指向jdk的安装目录 配置Tomcat 找到conf/server.xml,找到<conector port 阅读全文
posted @ 2016-03-27 12:17 陶士涵 阅读(1353) 评论(0) 推荐(0) 编辑
摘要:当一个界面中要要开启多个带有返回值的activity时,这个时候,就需要用到请求码和结果码了 调用startActivityForResult(intent,requestCode)方法,开启activity,参数:Intent对象,请求码,请求码的作用是区分当前是哪个点击事件开启的activity 阅读全文
posted @ 2016-03-26 23:09 陶士涵 阅读(219) 评论(0) 推荐(0) 编辑
摘要:应用场景:打开一个新的activity,在这个activity上获取数据,返回给打开它的界面 短信发送时,可以直接选择系统联系人 界面布局是一个线性布局,里面右侧选择联系人在EditText的右上,因此使用相对布局对输入框进行包裹,按钮使用android:layout_alignParentRigh 阅读全文
posted @ 2016-03-26 22:47 陶士涵 阅读(2406) 评论(0) 推荐(0) 编辑
摘要:AngularJs为HTML DOM元素的属性提供了绑定数据的指令 ng-disabled指令 ng-disabled指令直接绑定数据到HTML元素的disabled属性 ng-show指令 ng-show指令隐藏和显示一个HTML元素 ng-hide指令与ng-show相反 阅读全文
posted @ 2016-03-26 00:03 陶士涵 阅读(98) 评论(0) 推荐(0) 编辑
摘要:模拟器横竖屏切换,ctrl+f11 界面activity会销毁,重新打开创建 第一种做法: 定死就是横屏 在清单文件,<activity/>节点部分,添加属性,设置屏幕朝向 android:screenOrientation=”landscape” 水平朝向,portrait竖直 绝大多数游戏,是采 阅读全文
posted @ 2016-03-25 22:59 陶士涵 阅读(138) 评论(0) 推荐(0) 编辑
摘要:创建两个activity,创建两个布局文件,布局中两个按钮,开启第一和开启第二个 当第一个界面打开的时候,进程会创建一个任务栈,栈里面只有一个activity 点击第二个界面,任务栈里面会加入activity2 再次点击第二个界面,任务栈里面再次加入activity2 当点击返回的时候,最后一个先弹 阅读全文
posted @ 2016-03-25 22:30 陶士涵 阅读(114) 评论(0) 推荐(0) 编辑
摘要:在MainActivity里面重写以下方法: 在这些方法里面打印log日志,为了方便查看在filter里面增加一个System.out来过滤 onCreate() onDestory() onPause() onResume() onStart() onStop() 第一次打开一个activity和 阅读全文
posted @ 2016-03-25 21:31 陶士涵 阅读(185) 评论(0) 推荐(0) 编辑
摘要:读取服务器json数据,get方式 阅读全文
posted @ 2016-03-24 23:20 陶士涵 阅读(132) 评论(0) 推荐(0) 编辑
摘要:新建一个activity,继承Activity 清单文件中进行配置,添加<activity/>节点 设置名称 android:name=”.类名” 点 代表的是当前包名,也可以不写 新建一个布局文件,线性布局,竖直排列 添加<TextView/>控件,设置控件内容水平居中,android:gravi 阅读全文
posted @ 2016-03-24 22:01 陶士涵 阅读(2518) 评论(0) 推荐(0) 编辑
摘要:激活系统的某些应用,并且往应用里面填一些数据,比如说短信应用 打开短信应用,查看logcat,找到ActivityManager, 看到Display.com.android.mms/.ui.ComposeMessageActivity 查看短信源代码的清单文件,可以看到,一个activity节点下 阅读全文
posted @ 2016-03-24 21:04 陶士涵 阅读(300) 评论(0) 推荐(0) 编辑
摘要:AngularJs中你可以使用自己的服务或使用内建服务,服务是一个函数或对象,以下代码试验$location服务,$http服务,$timeout服务,$intverval服务,创建自定义服务 阅读全文
posted @ 2016-03-23 23:08 陶士涵 阅读(157) 评论(0) 推荐(0) 编辑
摘要:ndroid里面的清单文件相当于windows上的注册表,例如播放器可以关联文件直接打开,清单文件中activity节点的intent-filter节点进行配置 添加<action/>动作节点,设置名称android:name=”com.xxx.xx.xx” 添加<category/>默认附加选项节 阅读全文
posted @ 2016-03-23 21:41 陶士涵 阅读(304) 评论(0) 推荐(0) 编辑
摘要:随着api的升级,系统的很多应用包名和类名都改掉了,所以很多时候,打开系统应用的时候会报错,隐式意图就是解决组件之间松耦合,描述动作行为 获取Intent对象,通过new出来 调用Intent对象的setAction(action)方法,设置动作,参数:String类型的常量例如:Intent.AC 阅读全文
posted @ 2016-03-23 21:00 陶士涵 阅读(157) 评论(0) 推荐(0) 编辑
摘要:过滤器可以使用一个管道字符(|)添加到表达式和指令中,这不就是模板函数吗 阅读全文
posted @ 2016-03-22 23:42 陶士涵 阅读(111) 评论(0) 推荐(0) 编辑
摘要:可以使用跳转的方式类似javaweb来实现界面转换 显示意图就是必须要指定开启组件的具体信息,包名,组件名,组件的class 新建一个类TwoActivity ,继承Activity类,重写onCreate()方法,这个方法是界面开启的时候自动调用,在这个函数里面大部分进行初始化的操作,比如调用界面 阅读全文
posted @ 2016-03-22 22:52 陶士涵 阅读(1063) 评论(0) 推荐(0) 编辑
摘要:github上搜索开源框架android-smarty-imageview,下载压缩包,拷贝我们之前写的网络图片查看器布局。 解压下载包里面的数据,找到java源码拷贝到我们的项目里,这时我们可以看到这个包下面有个SmartyImageView.java的自定义控件,SmartImageView是继 阅读全文
posted @ 2016-03-22 21:31 陶士涵 阅读(264) 评论(0) 推荐(0) 编辑
摘要:Scope作用域 Scope作用域是应用在HTML视图和Js控制器之间的纽带 Scope是一个对象,有可用的属性和方法 根作用域 所有的应用都有一个$rootScope,它可以作用在ng-app指令包含的所有的html元素中 $rootScope是各个controller中scope的桥梁,用roo 阅读全文
posted @ 2016-03-21 23:26 陶士涵 阅读(119) 评论(0) 推荐(0) 编辑
摘要:异步http框架post提交数据到服务器 前面我们使用普通的方式post提交数据,比较麻烦,现在使用异步框架来实现以下,感觉非常舒服。 获取AsyncHttpClient对象 调用AsyncHttpClient对象的post(uri,params,responseHandler)方法,post提交数 阅读全文
posted @ 2016-03-21 22:35 陶士涵 阅读(1283) 评论(0) 推荐(0) 编辑
摘要:介绍github上的异步http框架android-async-http loopj开发 获取AsyncHttpClient对象,通过new 调用AsyncHttpClient对象的get(url,responseHandler)方法,发送get请求,参数:url是String类型的路径,respo 阅读全文
posted @ 2016-03-20 22:34 陶士涵 阅读(994) 评论(0) 推荐(0) 编辑
摘要:开源框架httpclient,android直接内置到了android.jar包中,对浏览器的简单包装 获取HttpClient对象,因为这个类是个接口,并且大部分都会提供一个实现类 以BaseXxx,DefaultXxx等命名,因此这个也有一个实现类叫DefaultHttpClient,直接new 阅读全文
posted @ 2016-03-20 21:39 陶士涵 阅读(169) 评论(0) 推荐(0) 编辑
摘要:ng-model指令 ng-model可以将输入域的值与AngularJs的变量绑定 双向绑定 当修改输入域的值时候,AngularJs属性的值也将修改 验证用户输入 以下提示信息将在ng-show属性返回true的情况下显示 阅读全文
posted @ 2016-03-20 12:33 陶士涵 阅读(131) 评论(0) 推荐(0) 编辑
摘要:重复HTML元素 ng-repeat指令可以重复HTML元素 创建自定义指令 使用.directive()函数来自定义指令,要调用自定义指令,html元素上需要添加自定义指令名,使用驼峰法来命名一个指令 限制使用,默认是元素名调用和属性调用 阅读全文
posted @ 2016-03-20 00:56 陶士涵 阅读(140) 评论(0) 推荐(0) 编辑
摘要:GET:内部实现是组拼Url的方式,http协议规定最大长度4kb,ie浏览器限制1kb POST和GET的区别比较了一下,多了几条信息 Content-Type:application/x-www-form-urlencoded Content-Length:93 主体内容 只需修改上一节代码中的 阅读全文
posted @ 2016-03-19 22:17 陶士涵 阅读(242) 评论(0) 推荐(0) 编辑
摘要:本节内容与上一节基本一致,也就是在url的上面拼接上参数,其他基本一样。 界面布局,线性布局,EditText用户名,EditText密码,Button按钮 为了使用这段代码演示多种方式请求服务器,新建一个service的包,建一个LoginService的类处理登陆请求,建一个静态方法,返回Str 阅读全文
posted @ 2016-03-19 21:34 陶士涵 阅读(668) 评论(0) 推荐(0) 编辑
摘要:当服务器端采用gbk或者gb2312编码,我们的android端采用utf-8编码,这个时候就会出现乱码,当我们new String()的时候,默认编码是utf-8,也可以手动设置编码是gbk,new String(str,”gb2312”),但是这个时候,访问utf-8编码的又会乱码。 对返回的h 阅读全文
posted @ 2016-03-18 23:00 陶士涵 阅读(479) 评论(0) 推荐(0) 编辑
摘要:访问这个路径进入后台页面 http://localhost:8888/admin/login 在后台路由控制器里面(/admin/index.js)调用登陆控制器(/admin/login.js) 登陆控制器里面,定义登陆界面的路由,定义登陆提交验证的路由,这里需要获取到form表单post提交的数 阅读全文
posted @ 2016-03-17 23:01 陶士涵 阅读(3163) 评论(0) 推荐(0) 编辑
摘要:访问一个网页的请求实际上就是一个GET请求,应用的布局没啥好说的,线性布局,定义好控件,在activity代码里面先获取到控件,获取到EditText控件的网络路径,开启get请求 开启一个新的线程,new Thread(){}.start() 获取Url对象,new出来,参数:path是Strin 阅读全文
posted @ 2016-03-17 22:23 陶士涵 阅读(339) 评论(0) 推荐(0) 编辑
摘要:上一节,先把访问网络的部分放到一个子线程里面去执行,new Thread(){}.start(),new Thread直接使用匿名内部类来实现,重写run()方法,内部类访问外部的变量,这个变量应该定义成final的。 直接运行会报错,Only the original thread that cr 阅读全文
posted @ 2016-03-16 23:08 陶士涵 阅读(235) 评论(0) 推荐(0) 编辑
摘要:界面布局LinerLayout线性布局,ImageView控件,EditText控件 hint属性提示信息,Button控件。 Android:layout_weight=””属性,权重,只有控件的宽度和高度为0的时候才代表权重,否则它代表渲染的优先级,值越大优先级越低,默认是0,先渲染其他控件 s 阅读全文
posted @ 2016-03-16 22:06 陶士涵 阅读(648) 评论(0) 推荐(0) 编辑
摘要:Angularjs通过新的属性和表达式扩展了html Andularjs 可以构建一个单一页面的应用程序(SPAS SinglePageApplications) Angularjs通过指令扩展了html,通过表达式绑定数据到html ng-app指令定义Angularjs的应用程序 ng-mode 阅读全文
posted @ 2016-03-15 23:29 陶士涵 阅读(186) 评论(0) 推荐(0) 编辑
摘要:对应着读联系人,把数据写进去,市场上的社交类应用经常会有这样的功能 获取ContentResolver对象,通过getContentResolver()方法 调用ContentResolver对象的query()方法,查询raw_contacts表,得到Cursor对象 调用Cursor对象的mov 阅读全文
posted @ 2016-03-15 22:09 陶士涵 阅读(2230) 评论(0) 推荐(0) 编辑
摘要:内容提供是实质上是个接口,后门,他给别人提供数据,系统联系人是个比较复杂的内容通过者。 找到/data/data/com.android.providers.contacts/contacts2.db 这个目录下还有个文件contacts2.db.-journal,这个文件和数据库的事务相关 联系人 阅读全文
posted @ 2016-03-14 23:11 陶士涵 阅读(2422) 评论(0) 推荐(0) 编辑
摘要:拦截短信,比如当发短信的时候,就把短信读取出来,当系统的短信发生变化的时候,大叫一声,把数据发送到公共的消息邮箱里面,我们的应用通过内容观察者观察公共的消息邮箱   获取ContentResolver对象,调用函数getContentResolver(), 调用ContentResolver对象的r 阅读全文
posted @ 2016-03-14 21:51 陶士涵 阅读(299) 评论(0) 推荐(0) 编辑
摘要:首页路由:http://localhost:8888/ 首页分页路由:http://localhost:8888/index/2 分类列表分页路由:http://localhost:8888/category/分类id/分页 控制器调用article模型的assignIndexData()方法,参数 阅读全文
posted @ 2016-03-13 22:59 陶士涵 阅读(6495) 评论(2) 推荐(1) 编辑