一.Animations介绍 Animations是一个实现android UI界面动画效果的API,Animations提供了一系列的动画效果,可以进行旋转.缩放.淡入淡出等,这些效果可以应用在绝大多数的控件中. 二.Animations的分类 Animations从总体上可以分为两大类: 1.Tweened Animations:该类Animations提供了旋转.移动.伸展和淡出等效果.Alpha——淡入淡出,Scale——缩放效果,Rotate——旋转,Translate——移动效果.…
文章转载只能用于非商业性质,且不能带有虚拟货币.积分.注册等附加条件.转载须注明出处:http://blog.csdn.net/flowingflying/ 在之前,我们已经学习了如何签发apk,见Pro Android学习笔记(六四):安全和权限(1):签发apk,我们将对package做进一步了解. 每个apk都有一个唯一的根包名,在AndroidManifest.xml中定义,如下.开发者为包进行签发,前面和包名绑定,其他开发者不能对这个包进行更新. <?xml version="1…
上下文菜单ContextMenu使用案例 前言 回顾之前的应用程序,发现之前创建的选项菜单无法显示了.按照正常逻辑来说,左图中在"商品信息"一栏中应该存在选项菜单,用户可进行分享等操作,但是现在此操作莫名其妙的消失了.写了个测试Demo,如中图所示,一切按照逻辑显示正常.怪就怪在项目中无法显示,起初设想是因为Android系统版本太高问题,但是在别的手机上测试之后发现问题依旧存在.难道是因为顶部Tab标题栏遮挡住了选项菜单的显示?继续测试,通过在别的没有Tab标题栏的页面测试选项菜单,…
文章转载只能用于非商业性质,且不能带有虚拟货币.积分.注册等附加条件.转载须注明出处:http://blog.csdn.net/flowingflying/ 之前我们有一篇很好的博文<Android学习笔记(三一):线程:Message和Runnable>对Handler进行了介绍.在此,我们作进一步了解. 前面,我们已经学习到主线程有一个主线程队列,对于异步处理(如Activity的UI触发.触发本地服务的startService(),以及外部进程调用Activity和广播).异步处理以消息…
目录(?)[-] 小例子 Handler的处理 Activity的代码片段 后台线程和UI的互动 文章转载只能用于非商业性质,且不能带有虚拟货币.积分.注册等附加条件.转载须注明出处:http://blog.csdn.net/flowingflying/ 之前我们介绍了Android主线程异步处理机制.通过Handler可以将消息放置到队列中等待处理.Handler可以控制消息放置在队列方式:sendMessage(), sendMessageAtFrontOfQueue(), sendMess…
目录(?)[-] 在项目中使用lib 源代码 了解一些机制 文章转载只能用于非商业性质,且不能带有虚拟货币.积分.注册等附加条件.转载须注明出处:http://blog.csdn.net/flowingflying/ 在上一次学习中,我们创建的lib项目TestLib,本次学习,我们将学习如何在项目中调用lib.我们创新了一个普通的App项目,名字为TestUseLib. 在项目中使用lib 要在项目中使用lib,需要加入lib.在Eclipse中点击项目名按右键,选择Properties,将l…
目录(?)[-] 共享User ID的设置 共享资源例子 文章转载只能用于非商业性质,且不能带有虚拟货币.积分.注册等附加条件.转载须注明出处:http://blog.csdn.net/flowingflying/ 包在设备上安装时,系统会为其分配一个User ID.如果我们有几个应用,这几个应用之间需要深度的数据共享,在同一证书签发的情况下,可以让这几个应用使用同一UserID,达到数据共享. 共享User ID的设置 我们在Eclipse中创新两个应用:TestShareUserIdA和Te…
目录(?)[-] 什么是lib项目 小例子 Lib的实现 文章转载只能用于非商业性质,且不能带有虚拟货币.积分.注册等附加条件.转载须注明出处:http://blog.csdn.net/flowingflying/ 上一次我们学习了通过共享UserID实现深度的代码和资源共享,实际上lib库,同样也可实现类似的功能. 什么是lib项目 lib项目和一般的项目一样是java代码和资源的集合,最终并不生产*.apk文件,而是作为其他项目的一部分,编译到其他项目的*.apk中. 一个lib项目有自己的…
目录(?)[-] Client的AIDL文件 Client的代码 建立连接 请求服务 断开连接 文章转载只能用于非商业性质,且不能带有虚拟货币.积分.注册等附加条件.转载须注明出处:http://blog.csdn.net/flowingflying/ 和Local service不同,remote service可以被其他进程,即其他应用所调用. Client的AIDL文件在onBind()中将stub对象返回给client,client对stub对象的操作,就如同操作service的对外接口…
一.拦截器概念 讲解拦截器的概念之前,我们先看一张图: (1)浏览器发送一个请求会先到Tomcat的web服务器 (2)Tomcat服务器接收到请求以后,会去判断请求的是静态资源还是动态资源 (3)如果是静态资源,会直接到Tomcat的项目部署目录下去直接访问 (4)如果是动态资源,就需要交给项目的后台代码进行处理 (5)在找到具体的方法之前,我们可以去配置过滤器(可以配置多个),按照顺序进行执行 (6)然后进入到到中央处理器(SpringMVC中的内容),SpringMVC会根据配置的规则进行…
//此系列博文是<第一行Android代码>的学习笔记,如有错漏,欢迎指正! 布局是一种可用于放置很多控件的容器,它可以按照一定的规律调整内部控件的位置,或是嵌套子布局,从而编写出精美的界面.基本布局一般有四种,我们来逐个学习. 一.LinearLayout LinearLayout 又称作线性布局,是一种非常常用的布局.通过 android:orientation 属性指定可以指定排列的线性方向,默认的指定是 horizontal,此时控件就会在水平方向上排列. 例如我们在布局文件里定义3个…
Service是Android中一个重要的组件,它没有用户界面,可以运行在后太做一些耗时操作.Service可以被其他组件启动,甚至当用户切换到其他应用时,它仍然可以在后台保存运行.Service 是Android四大组件中与Activity最相似的组件,都代表可执行的程序,区别在于:Service一直运行在后台,没有界面,一旦Service被启动,即完全具有自己的生命周期. 一.创建一个Service 在创建Service时,步骤与Activity很像: 1.继承Service,创建Servi…
最近项目里遇到的几个小问题,以前只是用吗没有深入看过,现在总结到一起,防止以后这种小问题占用太多时间.还是通过网上别人总结的很多博客学习了,挑选出最易懂明了的. 还有leader很小的问题都不放过,亲自track代码,每个小现象的流程都搞得很清楚,追求完美不马虎,怪不得技术这么好,大方向架构小方向细节,这两方面都很认真,值得我学习. 1. 关于切图中的.9图片: 安卓android APP切图规范和.9png制作教程 这个跟上一篇差不多:关于”点九” 2. canvas绘图的: PorterDu…
一.指令 1.一个例子简单实用vue: 下载vue.js(这里实用1.0.21版本) 编写html代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script src="vue.js"></script> <scrip…
在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传和下载功能的实现. 对于文件上传,浏览器在上传的过程中是将文件以流的形式提交到服务器端的,如果直接使用Servlet获取上传文件的输入流然后再解析里面的请求参数是比较麻烦,所以一般选择采用apache的开源工具common-fileupload这个文件上传组件.这个common-fileupload上传组件的jar包可以去apache官网上面下载,也可以在struts的lib文件夹下面找到,stru…
目录(?)[-] 类比例子 数字签名 文章转载只能用于非商业性质,且不能带有虚拟货币.积分.注册等附加条件.转载须注明出处:http://blog.csdn.net/flowingflying/ 在Windows等操作系统中安装应用并不需要授权,为何Android需要?在设备安装的包都有一个唯一的包名,如果你试图安装一个已有包名的应用,是不会允许的,除非将之前的包删除.为了允许包升级,你必须确保是相同应用发布者,这需要数字签名. 类比例子 葡萄酒收集家发现每一种葡萄酒都有独一无二的色泽,如果色泽…
在之前提供了小例子BookProvider,我们回过头看看如何将通过该Content Provider进行数据的读取. (1)增加 private void addBook(String name ,String isbn,String author){    /* 从ContentProvider的insert()方法的参数可以看到,通过ContentValues来进行数据的传递.ContentValues是key/values对,可以存储多个组,非常适合传递信息 */    ContentV…
一.查询所有分组 通过Roster来获取所有分组,Roster可以通过connection.getRoster()来得到. [java] view plaincopy /** * 获取所有组 * * @param roster * @return 所有组集合 */ public static List<RosterGroup> getGroups(Roster roster) { List<RosterGroup> grouplist = new ArrayList<Rost…
一.基本概念 强制下线功能功能应该算是比较常见的了,很多应用程序都具备这个功能,比如你的QQ号或者微信号在别处登录了,就会将你强制挤下线.只需要在界面上弹出一个对话框,让用户无法进行任何其他的操作,必须要点击对话框中的确定按钮,然后回到登录界面即可.可是这样就存在着一个问题,因为我们被通知需要强制下线时可能正处于任何一个界面,难道需要在每一个界面都编写一个弹出对话框的逻辑吗?如果真的是这样想那么思维就偏远了,我们完全可以借助所学的广播知识来实现这一个功能. 二.代码之旅 强制下线功能需要先关闭所…
1.初步认识HTTP HTTP(Hypertext Transfer Protocol超文本传输协议)是网络应用层协议,建立在TCP/IP基础上,HTTP使用可靠的TCP连接,默认端口是80. 较常用的HTTP为GET和POST,不同在于GET通过在请求URL中设定参数来查询,POST则是以表单的形式将数据发送给web端 2.Android下HTTP操作 package org.tonny.httpUtil; import java.util.List; import org.apache.ht…
android中常见空间的使用方法 1.TextView TextView主要用于在界面上显示一段文本信息,如下面代码所示: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orien…
1.广播接收者注册 清单文件注册(Android四大组件都要在清单文件中注册) 一旦应用部署,广播接收者就生效了,直到用户手动停止应用或者应用被删除 广播接收者可以使用代码注册 需要广播接收者运行时,使用代码注册,不需要时,可以使用代码解除注册 特殊广播接收者,必须代码注册.电量改变.屏幕开关,必须使用代码注册 2.注册广播接收者 //创建广播接收者对象 receiver = new ScreenOnOffReceiver(); //通过IntentFilter对象指定广播接收者接收什么类型的广…
1.需要申请App Key和App Secret.不同的开发平台有不同的接入方式,可以参考文档,然后将这两个值放进去. 2.通过OAuth类实现认证,它会自动跳转到认证界面,进行授权,成功之后需要处理回调接口. 3.在第二步调用回调接口时,它会返回用户的基本信息,比如用户id.此时需要将用户id信息保存起来,为后面登录做准备.回调接口的写法就为myapp://AuthorizeActivity,其中scheme全部为小写字母. <activity android:name="com.wei…
前面我简单的介绍了android的一些基础知识,当作热身吧,接下来接触android的四大组件的activity活动. 1.活动Activity是是一种保护用户界面的组件,主要用于和用户进行交互. 活动的基本使用方法 1.创建一个项目项目名为ActivityTest.使用手动创建的方式. 选择file->android project填写好项目名和包名等next,不要勾选craete activity这个选项,最后finish 2.创建好包.创建一个类FirstActivity,并继承Activ…
ballerina 的grpc 开发模型,对于开发者来说简单了好多,不是schema first 的方式,而是我们 只要编写简单的ballerina service 就可以了,proto 文件是自动帮我们生成的,同时我们用这个 文件方便的生成各种客户端的代码 项目参考 https://ballerina.io/learn/by-guide/grpc-service/ 项目准备 项目结构 ├── Ballerina.toml ├── grpc_service │ └── order_mgt_ser…
显示运行进度对话框 我们经常有这种经历:运行某一应用程序时.须要等待一会,这时会显示一个进度(Please Wait)对话框,让用户知道操作正在进行. 我们继续在上一篇中的程序中加入代码~ 1.在上一篇的activity_main.xml文件里加入一个Button,加入后的代码例如以下: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http:/…
开发环境: 1)windows 7 64位 2)adt-bundle-windows-x86_64-20140624 3)Android Development Toolkit Version: 23.0.0.1245622 Android SDK tools: Revision 23.0.5. 问题描述: 在eclipse中创建android项目,项目选择Blank Activity with Fragment或者blank activity.无法在目录res/layout里自动创建fragm…
目录(?)[-] 主线程消息队列和线程池 查看线程信息 文章转载只能用于非商业性质,且不能带有虚拟货币.积分.注册等附加条件.转载须注明出处:http://blog.csdn.net/flowingflying/ Android的主线程也成为UI线程,为了避免5秒的ANR(应用不响应Application Not Responding),具体见5秒超时异常,这就需要后台线程.每个package在自己进程中运行,在进程中如何组织线程,通常需要handler. Android进程有四大组件:Acti…
一.什么是Toast 1.Toast是一种提供给用户简洁提示信息的视图. 2.该视图以浮于应用程序之上的形式呈现给用户, Toast提示界面不获取焦点,在不影响用户使用的情况下,给用户某些提示. 3.Android提供的Toast类可以创建和显示Toast信息. 下面演示4种Toast的用法,普通的 Toast,更改位置的Toast,显示图片的Toast,自定义的Toast分别使用4个按钮来实现. main.xml <LinearLayout xmlns:android="http://s…
一.CheckBox 1.CheckBox的常用方法: boolean isChecked() :返回当前CheckBox的选中状态 void setChecked(boolean isChecked) :设置CheckBox的选中状态 2. 监听器的设置 可以添加OnClickListener,CheckBox选中或者取消都会触发该监听器(使用isChecked()方法可以看到当前是否被选中).因为一个监听器可以和多个组件绑定,所以当需要查看是哪个组件触发,可以将onClick()中的参数设置…