
android
文章平均质量分 79
思念叨火车
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
关于Recovery及OTA升级的一些积累
Android的recovery是我在公司做的最多的,应该也是我在Android中了解的较为深入的一个部分。recovery这部分其实Android本身都已经提供了很完善的一套机制,但是因为公司是做机顶盒的,所以在因为平台订制的关系,recovery这部分还是做了很多修改的。首先,修改的比较少的是OTT这种盒子,本次也主要讲这种,其实这种和手机区别不大。而类似将DVB 中的loader和Andr...转载 2019-10-25 11:08:50 · 1777 阅读 · 0 评论 -
对Hongyang大神文章《Andoird 自定义ViewGroup实现竖向引导界面》的阅读笔记
项目中有这种页面需求,正好hongyang大神的文章比较吻合,就仔细阅读了一下。其中做了一些自己的理解性注释:1、原文链接:http://blog.csdn.net/lmj623565791/article/details/236924392、效果:3、布局类的源码及注释:public class VerticalLinearLayout e原创 2016-06-16 14:58:05 · 632 阅读 · 0 评论 -
java-类型转换小结
Java中,经常可以遇到类型转换的场景,从变量的定义到复制、数值变量的计算到方法的参数传递、基类与派生类间的造型等,随处可见类型转换的身影。Java中的类型转换在Java编码中具有重要的作用。首先,来了解下数据类型的基本理解:数据是用来描述数据的种类,包括其值和基于其值基础上的可进行的操作集合。Java中数据类型主要分为两大类:基本数据类型和引用数据类型。基本数据类型共有8种,分别转载 2016-07-13 14:28:09 · 481 阅读 · 0 评论 -
SwipeMenuListview源码解析
SwipeMenuListView 是一个像 Android QQ 那样在 ListView 中拉出菜单的开源库。SwipeMenuListViewSwipeMenuListView 是一个很棒的 ListView 控件,但是现在作者已经没有维护了。使用添加依赖123dependencies { compil转载 2016-06-15 10:34:40 · 2449 阅读 · 0 评论 -
对XListView 原理的理解
一、从用户操作角度分析源码的组成XListView是一个很不错的实现了下拉及上拉刷新的listview控件,虽然已经停止维护了,但其基本功能还是被不少app在使用的。既然要实现上拉及下拉刷新,就以下拉为例来讨论一下:首先,下拉是用户的一个动作,用户按住屏幕后手指下移一定距离后再抬起手指,这是listview顶端出现额外的提示内容,当移动距离达到一定条件,就允许刷新动作。同时,listv原创 2016-06-13 08:58:44 · 2469 阅读 · 0 评论 -
关于eclipse项目转到android studio的经验
这两天刚把手里的两个Android 工程从eclipse转到Android studio。一、为什么不用eclipse1、自己刚开始接触android的时候就是用的android studio2、到新公司后接手的这两个工程,在用eclipse打包的时候经常会出现各种问题。又没有找到解决办法。但这些问题是我在使用android studio时从未出现的。3、公司的同事大多也在用and原创 2016-06-03 10:06:21 · 669 阅读 · 0 评论 -
一个view内部的事件分发机制的分析总结
在Android中你只要触摸控件首先都会触发控件的dispatchTouchEvent方法(其实这个方法一般都没在具体的控件类中,而在他的父类View中),所以我们先来看下View的dispatchTouchEvent方法,如下:/** * Pass the touch screen motion event down to the target view, or this * vie原创 2016-06-24 11:28:19 · 344 阅读 · 0 评论 -
欢迎使用CSDN-markdown编辑器
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl原创 2016-06-08 09:53:10 · 300 阅读 · 0 评论 -
android开发之微信分享小计
最近项目中需要微信分享给好友功能。这里做一下小结:1、使用微信提供的sdk做分享(1)分享带图片的链接给好友或朋友圈* @param flag* (0:分享到微信好友,1:分享到微信朋友圈)private void wechatShare(int flag,Bitmap bitmap,String url ,String describe原创 2016-06-08 09:31:28 · 1460 阅读 · 0 评论 -
关于android studio底部的几个图标的作用
如上图底部红色框内的部分:1、最左侧的小显示屏图标,这个是用来隐藏屏幕边框部分的各种tool window的。用鼠标点击几次就知道作用了。而且,在隐藏掉这些window后,双击键盘的alt键并按住,就可以临时查看到它们。2、最右侧的小人头图标。这里面包含了关于代码等Lint自动检测的内容。点击打开的窗口是这样的:原创 2016-06-24 09:34:48 · 5714 阅读 · 0 评论 -
修改代码的编码格式为UTF-8
进公司后接手的项目之前是外包做的,编码格式是GBK和UTF-8混杂。。。研究了一下午,也在网上找了一些工具,终于完成了UTF-8编码的转换。工具:editplus步骤:1、首先用editplus打开你要转码的文件,可以批量打开文件,甚至不同文件夹下的文件2、依次选择菜单栏中的Document 、 File encoding 、Convert encoding multip原创 2016-06-01 10:42:51 · 5297 阅读 · 0 评论 -
Android ShareSDK 修改分享功能展示界面
1、要求的布局效果类似下面这样2、着手开始由于是接手的项目,不是自己从头开始做的,对shareSDK还不是很熟,就去官网学习了一下。完整的sdk集成文档链接:http://wiki.mob.com/android-sharesdk%E5%AE%8C%E6%95%B4%E7%9A%84%E9%9B%86%E6%88%90%E6%96%87%E6%A1%A3/貌原创 2016-05-27 13:50:33 · 3578 阅读 · 0 评论 -
Selector中的各种状态详解
官方关于这个的介绍在:http://developer.Android.com/guide/topics/resources/drawable-resource.html#StateList先复制一个样例:xml version="1.0" encoding="utf-8"?>selector xmlns:android="http://schemas.an转载 2016-05-24 10:31:11 · 1137 阅读 · 0 评论 -
Android数据存储实现的5大方式
数据存储在开发中是使用最频繁的,在这里主要介绍Android平台中实现数据存储的5种方式,更加系统详细的介绍了5种存储的方法和异同。第一种: 使用SharedPreferences存储数据SharedPreferences是Android平台上一个轻量级的存储类,主要是保存一些常用的配置比如窗口状态,一般在Activity中 重载窗口状态onSaveInstanceState保存一转载 2016-03-04 16:31:30 · 922 阅读 · 0 评论 -
OpenCV for Android Studio 学习笔记(一):NDK及OpenCV的安装配置
最近项目中有使用OpenCV的要求,这对于还没有接触过NDK的我来说真是有点儿难度。所以先从NDK的配置入手,然后又配置OpenCV,并尝试使用OpenCV来运行一些小例子。终于步入正轨了,特来做个小总结。一、NDK其实,Android Studio中NDK的配置是很简单的。不需要像Eclipse中那样复杂,不必使用cygwin这一类工具来模拟Linux环境。只需:原创 2016-01-07 15:36:23 · 1815 阅读 · 0 评论 -
EditText更改InputType——数字键盘
今天要实现一个功能,登录界面,当用户选择手机号登录时点击输入框只弹出数字键盘。其实这个很简单,只有监听到用户选择手机号登录时将对应的EditText控件的InputType设置为数字。setInputType(InputType.TYPE_CLASS_NUMBER);注意:这里不要设置成setInputType(InputType.TYPE_CLASS_PHONE)原创 2015-11-19 10:04:06 · 1429 阅读 · 0 评论 -
使用ViewPager实现左右循环滑动及轮播效果
吃水不忘挖井人:本文修改自博客:http://www.cnblogs.com/kobe8/p/4343478.html读了上文感觉思路挺不错的,但是实践的时候发现了一些问题。比如,打开应用时banner并没有自动开始轮播,因为handler中的if判断把消息给吃掉了。由此,我感觉这种处理方式并不是很好,出现重复发消息的问题,又通过其它方式来删除掉这些消息。。。我对代码做了一原创 2016-06-16 18:08:16 · 651 阅读 · 0 评论 -
android日期选择控件DatePicker小结
最近手上的项目要求弄一个包含两个日期选择控件的UI界面(即开始时间和结束时间)。一、一开始就想到使用自带的DatePicker控件。但是发现其UI很难调整到项目想要的效果。尤其是其与项目theme的关系,在xml中设置style也不好使。从Popwindow到AlertDialog都试过了,只有含单个DatePicker的DateAlertDialog还比较赏心悦目,却不满足项目需要。原创 2016-07-21 14:43:05 · 6040 阅读 · 0 评论 -
android P OTA (MTK)初探 —— 3、基于块(Block)的OTA:升级包的制作流程
上文简单介绍了Target包,本文重点分析完整升级包。一、OTA的流程图(转)网上看到的一份不错的流程图。二、升级包制作命令制作升级包需要用到alps/build/tools/releasetools/ota_from_target_files.py这个脚本文件。可以配置很多参数。一般需要的命令格式如下:./build/tools/releasetools/ota_from_targ...原创 2019-07-27 16:58:53 · 6201 阅读 · 0 评论 -
android P OTA (MTK)初探 —— 2、基于块(Block)的OTA:Target 包的制作流程
上文简单介绍了OTA的分类和流程,本文重点分析Target包。一、Target包结构:二、生成命令研究OTA会发现网上介绍比较多的命令是 make otapackage ,编译完成后,在根目录执行这个命令会生成Target包和完整升级包。其实有单独编译Target 包的命令:make target-files-packageandroid默认情况下,最终生成的Target包在此目录下:...原创 2019-07-27 15:57:30 · 3268 阅读 · 2 评论 -
android P OTA 初探 —— 1、OTA简单介绍
本系列介绍自己理解的基于android P的OTA系统。由于工作需要开始研究,实践经验匮乏,难免有理解不够或者错误之处。还请多多指正,不吝赐教!1、本文提及的OTA指的是android手机的基础操作系统、系统分区上安装的只读应用和/或时区规则的无线下载 (OTA) 更新。根据升级方式不同,分为:A/B(无缝)系统更新(android O新增)、 传统的非 A/B 系统更新、 时区规则更新(...原创 2019-07-27 15:10:06 · 5987 阅读 · 0 评论 -
《Android开发艺术探索》阅读笔记(一)、activity生命周期 及 启动模式
一、Activity生命周期分类正常情况下的生命周期:即在有用户参与的情况下,activity所经历的生命周期的变化。 异常情况下的生命周期:即Activity被系统回收或者由于当前设备的Configuration发生改变而导致Activity被销毁并重建的过程。(一)、正常情况下的生命周期经历7个方法,过程如下图: 注意: 1、onStart和onResume都表示activity已经可见,但原创 2017-01-17 17:26:59 · 484 阅读 · 0 评论 -
Android 日常开发总结的技术经验 60 条
全部Activity可继承自BaseActivity,便于统一风格与处理公共事件,构建对话框统一构建器的建立,万一需要整体变动,一处修改到处有效。2.数据库表段字段常量和SQL逻辑分离,更清晰,建议使用Lite系列框架LiteOrm库,超级清晰且重心可以放在业务上不用关心数据库细节。全局变量放全局类中,模块私有放自己的管理类中,让常量清晰且集中.不要相信庞大的管理类的东西会带来什么好处,可能是转载 2017-01-17 10:55:28 · 363 阅读 · 0 评论 -
Context 都没弄明白,还怎么做 Android 开发?
作者:Larry 链接:https://zhuanlan.zhihu.com/p/24847247 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。Activity mActivity =new Activity()作为Android开发者,不知道你有没有思考过这个问题,Activity可以new吗?Android的应用程序开发采用JAVA语言,Activity转载 2017-01-17 10:39:04 · 533 阅读 · 0 评论 -
EventBus与RxJava使用与分析(陆续更新中)
(声明: 本文不是讲RxJava及响应式编程的各种详细知识的。 博文主要是我学习过程的记录及搜集的资料的记录及其阅读顺序的总结,再就是资料中没有看到,自己通过源码及实践总结的一些散碎知识点。)android中观察者模式的使用也蛮重要的。 sdk中的Observable 和Observer,EventBus,RxJava等都能很好的实现观察者模式。 首先是继承自Java的Observa原创 2016-11-30 14:18:06 · 1628 阅读 · 0 评论 -
如何在应用中发送自己定义的广播Broadcast
广播是一种可以跨进程的通信方式。 1、对广播的理解可以类比上学时听到的校园大喇叭。只要喇叭一响,在校园中的我们就能接受到喇叭传来的信息。 2、android中广播可以大致分为两类:标准广播和有序广播首先,广播都是通过Intent来发送的,且应该有相应的接收器来执行接收后的动作。为了将广播和接收器做到一一对应,需要定义具有唯一性的action字符串。标准广播的原创 2015-06-12 16:05:29 · 2173 阅读 · 0 评论 -
第一篇博客
最近发现写博客对于成为一名优秀的程序员是多么的重要。我励志成为一名优秀程序员,所以我要开始写博客。作为一名刚入门的Android程序员,我的博客从安卓开发开始。Android为了保证应用的安全性,做了规定,如果你的程序想要访问一些系统的关键信息,就必须在配置文件中声明相应的权限。(要查看所有可以声明的权限,可以访问:http://developer.android.com/refe原创 2015-06-12 15:40:07 · 445 阅读 · 0 评论 -
android开发——.so文件相关知识点
一、为什么你需要重点关注.so文件如果项目中使用到了NDK,它将会生成.so文件,因此显然你已经在关注它了。如果只是使用Java语言进行编码,你可能在想不需要关注.so文件了吧,因为Java是跨平台的。但事实上,即使你在项目中只是使用Java语言,项目中依赖的函数库或者引擎库里面已经嵌入了.so文件(比如百度地图sdk就提供了各种.so文件)Android应用支持的cpu架构取决于APK中位于lib原创 2016-12-16 09:36:16 · 1244 阅读 · 0 评论 -
Android Studio解决导入项目非常慢的问题
Android Studio比Eclipse ADT有巨大的优势。Android Studio原生支持使用Gradle来构建项目,使用动态语言Groovy定义项目构建的过程,避免了build.xml文件繁琐的定义。然而使用的时候,却有着巨大的缺陷: 由于Android Studio在升级的时候,可能会伴随着Gradle版本的升级,Gradle就会产生若干的版本。 为了保证程序不会因为Gradle转载 2016-12-02 10:56:59 · 444 阅读 · 0 评论 -
android 处理运行时变更
有些设备配置可能会在运行时发生变化(例如屏幕方向、键盘可用性及语言)。 发生这种变化时,Android 会重启正在运行的 Activity(先后调用 onDestroy() 和 onCreate())。重启行为旨在通过利用与新设备配置匹配的备用资源自动重新加载您的应用,来帮助它适应新配置。要妥善处理重启行为,Activity 必须通过常规的Activity 生命周期恢复其以前的状态,在 A转载 2016-11-01 11:01:12 · 437 阅读 · 0 评论 -
Android Studio中进行NDK开发(android studio 2.2 及 CMake)
Studio在使用C++等native代码方面做出了新的尝试,感觉更方便了。现在把使用方式记录如下:一、下载NDK及新的构建工具CMakeStudio引入了新的Native代码构建工具,可以帮助打包成.SO文件 并提供给gradle打包的apk文件中。如下图,选中CMake LLDB 及NDK,进行下载即可。二、创建新的支持C/C++代码的工程这个其实很简单原创 2016-10-27 13:34:58 · 1143 阅读 · 0 评论 -
防止按钮短时间内重复点击
类的主内容:public class EnableDelayUtil { private static Handler handler = new Handler(); private static ArrayList myRunnableList = new ArrayList; private static ArrayList viewList = new Ar原创 2016-10-10 09:46:21 · 669 阅读 · 0 评论 -
自定义view 小圆点随手指滑动
package com.example.abc.myfirstapplication.SelfView;import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.graph原创 2016-06-23 14:22:24 · 1306 阅读 · 0 评论 -
实现SwipeMenuListView特定item的右滑menu无效
项目中增加需求:根据不同来源的数据,修改展示页面及响应。对于之前的数据来源,定为“来源一” 新的特殊数据来源,定为“来源二”一、对SwipeMenuListView的研究及修改 通过之前转的关于SwipeMenuListView源码的解析 及自己对源码的阅读,发现数据展示页面右滑出现的menu的样式的修改可以通过adapter的原创 2016-06-20 15:31:18 · 3493 阅读 · 0 评论 -
Android 中Canvas.drawText实现文字居中
目标:把中文字符绘制到目标矩形的居中位置。问题:Android的Canvas绘图,drawText里的origin是以baseline为基准的,直接以目标矩形的bottom传进drawText,字符位置会偏下。这样写代码:[java] view plaincopy@Override public void onD转载 2015-11-20 15:29:48 · 681 阅读 · 0 评论 -
AndroidManifest.xml文件解析
一、关于AndroidManifest.xml AndroidManifest.xml 是每个android程序中必须的文件。它位于整个项目的根目录,描述了package中暴露的组件(activities, services, 等等),他们各自的实现类,各种能被处理的数据和启动位置。 除了能声明程序中的Activities, ContentProviders, Services, 和In原创 2015-11-02 15:11:03 · 359 阅读 · 0 评论 -
如何将service与activity绑定
一、service的简单使用就不详细展开了。只做一点儿讨论以解释为什么要绑定activity。service是不可见的,它的启动、停止和其他控制操作都是通过其他应用程序组件来实现的。比如最简单的就是在activity中使用startService()来启动一个服务,使其在后台运行。但如果仅仅是这样的话,我们启动一个service后就只能看着它在后台运行却不能对其进行任何操作了。如果想在原创 2015-09-14 16:32:07 · 5514 阅读 · 0 评论 -
新应用的知识整理-1-启动页
1、在AndroidManifest.xml文件中定义自己应用的启动activity<activity android:name=".PagesForShow.Start_ad" android:label="@string/app_name" android:screenOrientation="portrait" android:theme="@styl原创 2015-09-07 17:19:08 · 403 阅读 · 0 评论 -
对回调函数的理解
接口的定义就不介绍了。说一下自己对接口的理解。接口就像是一种协议或者说是一种规范,它规定了凡是实现该接口的类必须要遵守的内容(实现其中所以的抽象函数)。显然,接口的产生就是为了去规范一些东西。那这么做的意义是什么呢?从我们平时编写android应用时用到的接口就很容易理解这个问题。1、接口举例:以我们整天都在用的activity类为例:可以看到,activity实现原创 2015-09-11 15:13:13 · 541 阅读 · 0 评论 -
Android自学历程—手把手教你使用OkHttp(含各种请求方法)
支持 SPDY ,共享同一个 Socket 来处理同一个服务器的所有请求如果 SPDY 不可用,则通过连接池来减少请求延时无缝的支持GZIP来减少数据流量缓存响应数据来减少重复的网络请求 OkHttp 处理了很多网络疑难杂症:会从很多常用的连接问题中自动恢复。如果您的服务器配置了多个IP地址,当第一个IP连接失败的时候,OkHttp会自动尝试下一个转载 2015-09-11 10:41:39 · 21034 阅读 · 1 评论