Android Basic Technology
阿姆斯特狸
这个作者很懒,什么都没留下…
展开
-
android 各种View截图总结
普通View截图image获取View截图 /** * 获取控件截图(黑色背景) * * @param view view * @return Bitmap */ public static Bitmap getViewBitmapNoBg(View view) { view.setDrawingCacheEnabled(true); view.buildDrawingCache(true);.转载 2020-09-21 15:10:54 · 2237 阅读 · 0 评论 -
Android端RSA加密,Java后台无法解密的原因
如题,原因是因为,加密标准的原因。"RSA/ECB/PKCS1Padding" 与'RSA"解决:在android中应该使用这个标准Cipher cipher = Cipher.getInstance("RSA/ECB/PKCS1Padding");在服务端使用这个标准Cipher cipher = Cipher.getInstance("RSA");...原创 2019-10-23 18:35:02 · 1271 阅读 · 3 评论 -
Volley的基本用法
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/174820951. Volley简介我们平时在开发Android应用的时候不可避免地都需要用到网络技术,而多数情况下应用程序都会使用HTTP协议来发送和接收网络数据。Android系统中主要提供了两种方式来进行HTTP通信,HttpURLConnection和Http转载 2016-03-29 11:13:51 · 398 阅读 · 0 评论 -
Android 三大图片缓存原理、特性对比
这是我在 MDCC 上分享的内容(略微改动),也是源码解析第一期发布时介绍的源码解析后续会慢慢做的事。 从总体设计和原理上对几个图片缓存进行对比,没用到他们的朋友也可以了解他们在某些特性上的实现。 上篇关于选择开源项目的好处及如何选择开源项目可见:开源项目使用及选型。 一. 四大图片缓存基本信息Universal ImageLoader转载 2016-03-23 16:43:11 · 384 阅读 · 0 评论 -
如何使用okhttp访问百度三方API-频道新闻API_易源
如何使用okhttp访问三方API?百度有自己的SDK提供异步访问,不过现在不是流行okhttp么,楼主写了一个Demo。百度的SDK是在MyApplication中初始化SDK并录入apikey,那不用他的SDK就不能访问了么?楼主几经探索发现可以通过URL的形式访问API,百度也提供了这样的服务方式。这个-H就是加Header的意思(心中一万只草泥马呼啸过~)我原创 2016-03-30 14:39:58 · 2520 阅读 · 0 评论 -
getItemViewType为Listview的item设置不同的布局
关于设置不同布局可以参考:http://www.it165.net/pro/html/201406/16181.html群里面因为ListView的getItemViewType和getViewTypeCount的问题干起来了,原因是一个小伙自定义了两个type是从1到2结果越界,而正常应该从0开始。 报错提示:at android.widget.AbsListVie原创 2016-03-21 17:58:59 · 705 阅读 · 0 评论 -
SlidingTabLayout+ViewPagerAdapter
效果图:首先介绍一下使用源码在后面:找一个Activity或者Fragment@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // Inflate原创 2016-03-17 17:32:46 · 969 阅读 · 0 评论 -
Android Activity和Fragment的转场动画
Activity转场动画 Activity的转场动画是通过overridePendingTransition(int enterAnim, int exitAnim)实现的。 这个方法是API Level 5 加入的。 这个方法在startActivity(Intent) or finish()之后被调用,指定接下来的这个转场动画。 方法的第一个参数:e转载 2016-03-14 16:52:07 · 1515 阅读 · 0 评论 -
NavigationView配合Fragment切换+动画+使用+check问题解决方案
关于NavigationView的使用:1.使用xml配置headerLayout 和menu<android.support.design.widget.NavigationView android:id="@+id/id_navigationView" android:layout_width="match_parent" android:layout_he原创 2016-03-14 18:07:31 · 7334 阅读 · 1 评论 -
canvas变换与操作
版权声明:本文为博主原创文章,未经博主允许不得转载。目录(?)[+]前言:前几篇讲解了有关canvas绘图的一些操作,今天更深入一些,讲讲对画布的操作,这篇文章不像前几篇那么容易理解,如果以前没有接触过画布的童鞋可能比较难以理解,为什么会这样。我尽量多画图,让大家更清晰明白。前几天偶然看到一篇文章,写的朴实无华,充满正能量,我非常喜欢里面的一句话转载 2016-02-03 17:25:08 · 496 阅读 · 0 评论 -
自定义控件篇 第二章 输入事件(触摸滑动,Scroller,事件分发机制)
第一节 基础知识 我们先来介绍两个基础知识。事件类型 在Android中View类支持监听如下五种输入事件,我们可以通过设置监听器来监听事件:- 点击事件:当用户点击一个View(如Button)时,系统会产生点击事件,并传递给该View。 - 调用View的setOnClickListener方法来监听此事件。- 长按事件:当用户长时间按住一个View时,系原创 2016-01-29 15:55:54 · 1474 阅读 · 0 评论 -
使用ADIL访问远程服务
1.新建aidl文件2.Build->Make Project在该目录下可以发现生成后的IMyAidlInterface.java文件。3.新建Service并实现IMyAidlInterface定义的方法,onBind中返回实例。public class MyRemoteService extends Service { public MyRemoteS原创 2016-01-26 16:38:30 · 499 阅读 · 0 评论 -
自定义控件---基础入门篇
Android系统内置了许多控件,如果这些控件不能满足需求,您可以自定义自己的控件,自定义的控件必须继承View类。三种自定义控件的方式 按实现方式来划分的话,自定义View分为三种:自绘控件、组合控件、以及继承控件。- 自绘控件:View上所展现的内容全部都是我们自己绘制出来的。此种方式也是最难的,一般会通过直接继承View类来实现自定义控件。- 继承控件:如果对已有转载 2016-01-25 15:51:29 · 1357 阅读 · 0 评论 -
RapidFloatingActionButton的使用心得
源代码地址:点击打开链接Gradle(Check newest version):compile 'com.github.wangjiegulu:RapidFloatingActionButton:x.x.x'楼主单凭引用上面这个地址报错找不到引用起码得加入Dependencies:AndroidBucket:The base library原创 2016-01-22 16:03:24 · 1453 阅读 · 0 评论 -
Drawable 吐血总结
一.Drawable简介Drawable是对可绘制物件的一般抽象,表示一种图像的概念,在实际开发中常被当做View的背景或者ImageView的图像,一般用xml来构建。(与View不同,没有事件和交互方法)一般情况下,除了直接使用放在Drawable下的图片,其实的Drawable的用法都和xml相关,我们可以使用shape、layer-list等标签绘制一些背景,还可以通过se原创 2016-01-20 10:17:23 · 1573 阅读 · 0 评论 -
自定义控件解密整理
为什么要自定义控件1.特定的显示风格。2.处理特有的用户交互。(textView支持一些滑动功能)3.优化我们的布局。(嵌套布局绘制比较慢)4.封装。(tab页按钮不好看)如何自定义控件1.自定义属性声明与获取。2.测量onMeasure。3.布局onLayout(ViewGroup才需要)4.绘制onDraw5.onTouchEvent6.onInte原创 2016-01-19 15:05:38 · 807 阅读 · 0 评论 -
Android Service完全解析,关于服务你所需知道的一切
AndroidService服务后台前台目录(?)[+]转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/11952435相信大多数朋友对Service这个名词都不会陌生,没错,一个老练的Android程序员如果连Service都没听说过的话,那确实也太逊了。Service作为Android四大转载 2016-01-12 10:27:09 · 509 阅读 · 0 评论 -
Android内存优化之——static使用篇
分类:android开发(4) 在Android开发中,我们经常会使用到static来修饰我们的成员变量,其本意是为了让多个对象共用一份空间,节省内存,或者是使用单例模式,让该类只生产一个实例而在整个app中使用。然而在某些时候不恰当的使用或者是编程的不规范却会造成了内存泄露现象(java上的内存泄漏指内存得不到gc的及时回收,从而造成内存占转载 2016-01-07 16:25:41 · 440 阅读 · 0 评论 -
Task以及Activity的启动模式
基础知识 Android使用Task来组织应用程序的所有Activity,Task是一个栈(Stack)结构,各个Activity按照栈的特点“后来居上、后进先出”依次被被安排在栈中。 默认情况下,一个应用程序中的所有Activity处于同一个Task中,在操作系统中同一时间上会存在多个Task。 默认情况下,当一个Activity被创建时,就会被压入到Task的栈顶,当其销原创 2015-12-23 09:30:16 · 516 阅读 · 0 评论 -
给TextView加上多彩效果:改变部分字体的大小和颜色
版权声明:本文为博主原创文章,未经博主允许不得转载。目录(?)[+]转载请注明出处:http://blog.csdn.net/singwhatiwanna/article/details/18363899前言在实际使用中,有时候会遇到特殊需求,比如pm突发奇想,想把TextView的某几个字变的大一点,再加点颜色,这貌似不好搞,如果是给Tex转载 2015-12-21 15:21:05 · 440 阅读 · 0 评论 -
SQLiteDatabase 是否需要调用close()方法?什么时候调用?
是否需要调用close()方法?什么时候调用?SQLiteDatabase db = getWritableDatabase();db.execSQL("DROP TABLE " + TABLE_NAME);db.close(); //这个操作要不要加? 由于SQLiteOpenHelper内部只缓存一个数据库的连接(即一个SQLit转载 2015-12-21 14:21:42 · 10472 阅读 · 3 评论 -
关于app退出后子线程停止的问题
在Android的程序中,UI线程是主线程 理论上来讲,Activity调用了finish方法后,主线程就终止了 那么其上的子线程也应该是停止 但是通过测试,发现并不是这样 finish退出程序后,子线程还在后台跑 必须用DDMS停止该线程才行 推荐:HandlerThread +Handler1.初始化HandlerThead 初始化Handler/*原创 2015-12-21 11:44:07 · 2793 阅读 · 0 评论 -
Android Material Design之Toolbar与Palette实践
转载请注明出处:http://blog.csdn.net/bbld_/article/details/41439715 【Rocko's bog】前言我们都知道Marterial Design是Google推出的全新UI设计规范,如果对其不太了解的可以看下:Material design非官方中文指导手册 ,或者我的前面几篇Material转载 2015-12-18 15:45:13 · 537 阅读 · 0 评论 -
Android 5.x Theme 与 ToolBar 实战
版权声明:本文为博主原创文章,未经博主允许不得转载。目录(?)[+]转载请标明出处: http://blog.csdn.net/lmj623565791/article/details/45303349; 本文出自:【张鸿洋的博客】1、概述随着Material Design的逐渐的普及,业内也有很多具有分享精神的伙伴翻译了ma转载 2015-12-18 11:16:37 · 359 阅读 · 0 评论 -
Android(Lollipop/5.0) Material Design(二) 入门指南
Material Design系列Android(Lollipop/5.0) Material Design(一) 简介Android(Lollipop/5.0) Material Design(二) 入门指南Android(Lollipop/5.0) Material Design(三) 使用Material主题Android(Lollip转载 2015-12-18 11:15:29 · 603 阅读 · 0 评论 -
FloatingActionButton 挺漂亮的东东
版权声明:本文为博主原创文章,未经博主允许不得转载。目录(?)[+]FloatingActionButton 完全解析[Design Support Library(2)]转载请标明出处: [http://blog.csdn.net/lmj623565791/article/details/46678867](http://blog.cs转载 2015-12-17 15:04:27 · 333 阅读 · 0 评论 -
Android摄像头 怎么搞?
1.如何启动摄像头调用系统隐式意图,若只有内置相机app则立即调用,若有多个相机app则弹出选择菜单。Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);startActivity(intent);2.如何使我们的应用捕获ACTION_IMAGE_CAPTURE意图。<activity a原创 2015-12-16 10:19:47 · 455 阅读 · 0 评论 -
信号量
简介 信号量(Semaphore),有时被称为信号灯,是在多线程环境下使用的一种设施, 它负责协调各个线程, 以保证它们能够正确、合理的使用公共资源。 一个计数信号量。从概念上讲,信号量维护了一个许可集。如有必要,在许可可用前会阻塞每一个 acquire(),然后再获取该许可。每个 release() 添加一个许可,从而可能释放一个正在阻塞的获取者。原创 2015-12-14 16:55:15 · 473 阅读 · 0 评论 -
继承SimpleCursorAdapter定制Adapter
SimpleCursorAdapter是一个简单的adapter,提供数据库Cursor到TextView的映射。在实际开发过程中,除了TextView外,往往还需要依赖于数据库数据的其它的组件。通过继承SimpleCursorAdapter,重写bindView(View view, Context context, Cursor cursor)来实现 示例代码原创 2015-12-11 16:10:49 · 1022 阅读 · 0 评论 -
安卓内部存储(三)SQLite数据库
版权声明:本文为博主原创文章,未经博主允许不得转载。上次我向大家介绍了SQLite的基本信息和使用过程,相信朋友们对SQLite已经有所了解了,那今天呢,我就和大家分享一下在Android中如何使用SQLite。现在的主流移动设备像Android、iPhone等都使用SQLite作为复杂数据的存储引擎,在我们为移动设备开发应用程序时,也许就要使用到SQLite来存储我们大量转载 2015-12-11 11:11:54 · 577 阅读 · 0 评论 -
安卓的内部存储方式(二) SharedPreferences
使用SharedPreferences进行数据存储很多时候我们开发的软件需要向用户提供软件参数设置功能,例如我们常用的QQ,用户可以设置是否允许陌生人添加自己为好友。对于软件配置参数的保存,如果是window软件通常我们会采用ini文件进行保存,如果是j2se应用,我们会采用properties属性文件或者xml进行保存。如果是Android应用,我们最适合采用什么方式保存软件配置参数呢?原创 2015-12-11 10:44:28 · 396 阅读 · 0 评论 -
Android动态换肤开源库Colorful发布
版权声明:本文为Mr.Simple原创文章,未经允许不得转载。目录(?)[-]Colorful 动态换肤开源库一使用方式1 自定义属性2 在布局中使用自定义属性设置View的背景文本颜色等属性3 定义多个Theme4 设置要修改的View的属性5 切换主题最近本人需要用到夜间模式,但是经过一番搜索似乎并没有看到好的转载 2015-12-03 17:53:53 · 446 阅读 · 0 评论 -
Android的Sqlite中DateTime类型数据的存取问题
关于讲sqlite中日期类型数据的存取网上有不少,但发现讲得这么细的非常少。更多的是用Date,不用做日期数据统计分析,对存取要求比较小的直接转换成long,即dateTime.getTime()存储。需要在界面上显示的时候就再将long型的日期数据转化为Date或DateTime类型。但是如果要做数据统计分析的话这样每条记录都要遍历转换会显得特别麻烦,数据量大的话时间消费是很大的。我们知转载 2015-11-30 18:13:16 · 1303 阅读 · 0 评论 -
Android 获取内外置存储卡方法
以前的Android(4.1之前的版本)中,SDcard跟路径通过“/sdcard”或者“/mnt/sdcard”来表示存储卡,而在Jelly Bean系统中修改为了“/storage/sdcard0”,以后可能还会有多个SDcard的情况。目前为了保持和之前代码的兼容,sdcard路径做了link映射。为了使您的代码更加健壮并且能够兼容以后的Android版本和新的设备,请通转载 2015-11-25 16:41:34 · 645 阅读 · 0 评论 -
android中的文件操作详解以及内部存储和外部存储
摘要 其实安卓文件的操作和java在pc环境下的操作并无二致,之所以需要单独讲解是因为安卓系统提供了不同于pc的访问文件系统根路径的api,同时对一个应用的私有文件做了统一的管理。根据我的经验,初学者在这部分感到很容易混淆内部存储和外部存储两个概念。 相对相对路径和绝对路径在java中,关于相对路径和绝对路径是这样解释的,如果你很熟悉这部分以下灰色文字可以跳过:转载 2015-11-25 10:37:27 · 626 阅读 · 0 评论 -
解决DatePickerDialog和TimePickerDialog控件取消按钮问题
一. 问题提出在Android程序中,我们通常需要使用DatePicker来设置日期,TimePicker来设置时间。其基本步骤是:1.先定义DatePicker和TimePicker布局2.然后通过Calendar类获得系统时间3.接着通过init方法将日期传递给DatePicker初始化日期控件4.在响应点击事件中可以通过DatePicker的getYear()、get转载 2015-11-24 13:54:18 · 2437 阅读 · 0 评论 -
Android Calendar的运用
转自:http://blog.sina.com.cn/s/blog_620e401d01019g65.html[java] view plaincopyimport java.text.DateFormat; import java.text.ParsePosition; import java.text.SimpleDateFormat转载 2015-11-24 13:45:57 · 457 阅读 · 0 评论 -
Android MediaPlayer状态机
对播放音频/视频文件和流的控制是通过一个状态机来管理的。下图显示一个MediaPlayer对象被支持的播放控制操作驱动的生命周期和状态。椭圆代表MediaPlayer对象可能驻留的状态。弧线表示驱动MediaPlayer在各个状态之间迁移的播放控制操作。这里有两种类型的弧线。由一个箭头开始的弧代表同步的方法调用,而以双箭头开头的代表的弧线代表异步方法调用。 通过这张图,我们可以知道转载 2015-11-24 11:25:04 · 411 阅读 · 0 评论 -
Android Context 是什么?
【转载请注明出处:http://blog.csdn.net/feiduclear_up CSDN 废墟的树】 PS:修该了一些有误区的地方。引言Context对于Android开发人员来说并不陌生,项目中我们会经常使用Context来获取APP资源,创建UI,获取系统Service服务,启动Activity,绑定Service,发送广播,获取APP信息等等。那么Context到转载 2015-11-18 17:32:19 · 535 阅读 · 0 评论 -
Android中AsyncTask的使用与源码分析+3.0以前的缺陷(并发->逐一)
在Android中实现异步任务机制有两种方式,Handler 和 AsyncTask。 Handler模式需要为每一个任务创建一个新的线程,任务完成后通过Handler实例向UI线程发送消息,完成界面的更新,这种方式对于整个过程的控制比较精细,但也是有缺点的,例如代码相对臃肿,在多个任务同时执行时,不易对线程进行精确的控制。为了简化操作,Android1.5提供了工具类an转载 2015-11-18 15:25:58 · 594 阅读 · 0 评论