Android
火雷弹
你不坚强,没人替你勇敢
展开
-
Android 切换横竖屏问题
需要注意的是,Toast和AlertDialog,不会影响生命周期。Home键和完全覆盖此Activity是一样的。横竖屏切换简单的说,分为四种可能: 1 设置屏幕不旋转 在Manifest中,设置Activity的 ScreenOrientation=“lanscape”横屏; ”portrait“竖屏。 2 不设置Activity的 ConfigChanges 切原创 2016-06-27 19:40:44 · 406 阅读 · 0 评论 -
Android Socket编程
Socket(套接字)用于描述IP地址和端口,是通信链的句柄,应用程序可以通过Socket向网络发出请求或者应答网络请求。Socket是支持TCP/IP协议的网络通信的基本操作单元,是对网络通信过程中端点的抽象表示,包含了进行网络通信所必需的5种信息:连接所使用的协议、本地主机的IP地址、本地进程的协议端口、远地主机的IP地址以及远地进程的协议端口。 Socket有两种主要的操作方式:面向连接的和原创 2016-07-05 16:57:37 · 669 阅读 · 0 评论 -
Android 简单的适配问题
1、使用match_parent、wrap_content、layout_weight(权重)2、使用LinearLayout禁用AbsoluteLayout3、使用Android自己的.9图片,自动拉伸4、尽量使用尺寸限定符,如下 (本来想展示做过的项目的截图,这里图片显示不出来,简单说一下吧。后续可能会补上)打开src目录下,会看到很多个 drawable 和 mipmap,这就是不同的尺寸。原创 2016-07-17 20:07:50 · 432 阅读 · 0 评论 -
Android 支付宝开发遇到的一些问题
首先,下载支付宝 SDK 并解压三个文件。(参考支付宝SDK官方文档,还是有用的)其实主要的是四个字符串:PANTNER(商PID) 签约成功可见 SELLER (收款账号) RSA—PRIVATE(商户私钥) RSA—PUBLIC(支付宝公钥)在密钥管理页面获取包含5个JAVA文件Base64,PayResult,SignUtils,ExternalFragment(主要是布局),PayDe原创 2016-07-08 19:03:44 · 646 阅读 · 0 评论 -
Android 防止重复按钮点击
定义一个全局变量,记录时间与当前时间相比较,更新时间,小于临界值则无效。原创 2016-07-08 19:11:47 · 550 阅读 · 0 评论 -
Android 隐藏标题栏
1.在onCreate(){ request.WindowFeature(Window.FEATURE_NO_TITLE); }此 一定要在setContentView()之前执行,否则报错。2.原创 2016-07-08 19:19:41 · 307 阅读 · 0 评论 -
Android ANR
ANR (Application Not Responding) 即 程序无响应一般耗时逻辑会出现ANR在启动服务后,要记得,stopService()或者stopSelf(),停止服务。原创 2016-07-08 19:24:36 · 306 阅读 · 0 评论 -
Android 简单的介绍下 RecyclerView
RecyclerView主要包含如下:Adapter:包装数据集合,并且为每个条目创建视图。ViewHolder:保存用于显示每个数据条目的子View。LayoutManager:将每个条目的视图放置于适当的位置。(目前可以选择的三种,垂直或者水平布局,表格布局,还有瀑布流布局)。LayoutManager 先初始化布局管理器,设置布局管理器。ItemDecoration:在每个条目的视图的周围或上原创 2016-07-08 19:37:53 · 275 阅读 · 0 评论 -
关于 Android Studio 的一些基本配置
界面设置 默认的 Android Studio 为灰色界面,可以选择使用炫酷的黑色界面。 Settings –> Appearance –> Theme ,选择 Darcula 主题即可。字体设置 系统字体设置如果你的Android Studio界面中,中文显示有问题,或者选择中文目录显示有问题,或者想修改菜单栏的字体,可以这么设置。 Settings –> Appearance ,勾选 O原创 2016-07-08 20:55:19 · 1194 阅读 · 0 评论 -
Android 中 Activity的生命周期 和 Log输出
Log输出Android系统在用户空间中提供了轻量级的logger日志系统,它是在内核中实现的一种设备驱动,与用户空间的logcat工具配合使用能够方便地跟踪调试程序。Log.v(tag,message); //verbose模式,打印最详细的日志 Log.d(tag,message); //debug级别的日志 Log.i(tag,message);原创 2016-07-09 16:30:00 · 2666 阅读 · 0 评论 -
安卓 Manifest 常用属性解析 和 XML 一些属性设置
Applicationandroid:allowBackup="true" allowBackup 可以备份和恢复数据 true 默认trueandroid:supportsRtl="true"supportsRtl 布局设置从右到左 right to left 默认falseActivity android:supportsRtl="true" noHistory true原创 2016-07-08 18:11:29 · 429 阅读 · 0 评论 -
Android当中访问网络有哪些方式呢
(1)针对TCP/IP的Socket、ServerSocket(2)针对UDP的DatagramSocket、DatagramPackage。这里需要注意的是,考虑到Android设备通常是手持终端,IP都是随着上网进行分配的。不是固定的。因此开发也是有一点与普通互联网应用有所差异的。(3)针对直接URL的HttpURLConnection。(4)Google集成了Apache HTTP客户端,可使原创 2016-07-05 14:59:00 · 732 阅读 · 0 评论 -
Application中的Context和普通的Activity中的Context有什么区别呢?
1.在全局对象中使用application context 2.和activity绑定过的service中。能用activity context的地方都不用Application中的Context,因为后者容易造成内存泄漏,而且能够支持的方法和数据有限。Application的Context是一个全局静态变量,SDK的说明是只有当你引用这个context的生命周期超过了当前activity的生命周原创 2016-07-05 12:05:23 · 869 阅读 · 0 评论 -
Activity的启动方式
Activity的启动方式一共有四种。分别为 standard:默认的启动方式 重复创建栈顶 singleTop: 该活动已经在栈顶,则不会创建新的实例 singleTask: 拿出所有上层的实例 singleInstance:共享活动实例原创 2016-06-27 20:12:46 · 306 阅读 · 0 评论 -
提升ListView的运行效率
No.1 Adapter中有个getView()方法,其中有个convertView参数(用于将之前加载好的布局进行缓存,以便可以重用)。思路是,判断convertView是否为空。为空的话,使用LayoutInflater加载布局,不为空,直接对convertView重用。 No.2 借助ViewHolder获取一次控件的实例。以上都仅仅是Listview。目前,还是使用新技术Recycle原创 2016-06-27 20:33:34 · 372 阅读 · 0 评论 -
AsyncTask 和 Handler的优缺点
Android不允许在子线程中更新UI,但必须在子线程中执行一些耗时任务,根据执行结果来更新相应的UI控件,可用一套异步消息处理机制。AsyncTask实现的原理和适用的优缺点AsyncTask,是Android提供的轻量级的异步类,可以直接继承AsyncTask,在类中实现异步操作,并提供接口反馈当前异步执行的程度(可以通过接口实现UI进度更新),最后反馈执行的结果给UI主线程.使用的优点: 简原创 2016-07-09 21:10:43 · 490 阅读 · 0 评论 -
分析一下 Android 异步消息处理机制到底是如何工作的
Android 中的异步消息处理主要由四个部分组成,Message、Handler、MessageQueue 和Looper。 MessageMessage 是在线程之间传递的消息,它可以在内部携带少量的信息,用于在不同线程之间交换数据。 Message 的 what 字段,除此之外还可以使用 arg1 和 arg2 字段来携带一些整型数据,使用 obj 字段携带一个 Object 对象。Handl原创 2016-07-09 22:07:40 · 368 阅读 · 0 评论 -
Android 线程 基本用法介绍
Android 多线程编程其实并不比 Java 多线程编程特珠,基本都是使用相同的语法。比如说,定义一个线程只需要新建一个类继承自 Thread,然后重写父类的 run()方法,并在里面编写耗时逻辑即可,如下所示:class MyThread extends Thread {@Overridepublic void run() {// 处理具体的逻辑}}那么该如何启动这个线程呢?其实也很简原创 2016-07-09 22:16:08 · 587 阅读 · 0 评论 -
Android 退出应用
1按返回键,或者直接按home键直接返回,其实这两种操作都没有关闭当前应用程序,没有释放系统资源。2System.exit(0); //关闭当前activity3网上提供了几种方法,我吸收了下面这个自认为简单易懂的方法,将下面SysApplication这个类复制到工程里面,然后在每个Acitivity的oncreate方法里面通过SysApplication.getInstance().addA原创 2016-06-29 11:20:50 · 435 阅读 · 0 评论 -
Android SDK 目录下的文件夹主要是干什么的
add-ons 这里面保存着附加库,比如google Maps,当然你如果安装了OPhone SDK,这里也会有一些类库在里面。docs 这里面是Android SDK API参考文档,所有的API都可以在这里查到。market_licensing 作为Android Market版权保护组件,一般发布付费应用到电子市场可以用它来反盗版。platforms 是每个平台的SDK真正的文件,里面会原创 2016-07-12 17:30:17 · 1818 阅读 · 0 评论 -
Android SDK下载
本来想放一张图的,结果,还不能发表了。原创 2016-07-12 18:28:09 · 391 阅读 · 0 评论 -
Android 启动Service的方式和区别
Service对象不能自己启动,需要通过某个Activity、Service或者其他Context对象来启动。启动的方法有两种,Context.startService和Context.bindService()。两种方式的生命周期是不同的,具体如下所示。 Context.startService方式的生命周期: 启动时,startService –> onCreate() –> onSta原创 2016-07-05 11:49:13 · 660 阅读 · 0 评论 -
谈谈Android 中this、 getApplicationContext()、getApplication()等等之间的区别
this:代表当前,在Activity当中就是代表当前的Activity,换句话说就是Activity.this在Activity当中可以缩写为this.(使用this, 说明当前类是context的子类,一般是activity application等)getApplicationContext():生命周期是整个应用,应用摧毁,它才摧毁。(使用getApplicationContext 取得的是原创 2016-07-05 11:57:46 · 410 阅读 · 0 评论 -
介绍一下Android 项目的目录结构
首先,在AS上新建一个项目。系统自动生成的目录结构,如上图。接下来,详细解释下这些文件和文件夹的作用。1. .gradle和.idea这两个目录下都是AS自动生成的文件,也不需要更改什么代码,所以自动隐藏掉就可以了。2. app项目中的代码,资源等等,都是在这个目录下的。下面会详细介绍3. build这个里面主要是在编译时自动生成的文件,忽略4. gradle包含gradle原创 2018-02-03 17:13:58 · 1348 阅读 · 0 评论