Android开发
文章平均质量分 82
快乐的飞鱼
这个作者很懒,什么都没留下…
展开
-
android 实现清理缓存功能
系统文件(注:这个是系统的文件系统,不允许修改的)内置SD卡(注:现在的手机基本上都有,就是我们所谓的ROM,是不可以移除的,RAM是我们手机的运行内存)外置SD卡(注:这个就是我们的SD卡了,可以移除)我们的应用程序一般会产生以下几种类型的数据:- file-普通的文件存储- database-数据库文件(.db文件)- sharedPreference-配置数据(.xml文件)应...原创 2020-04-15 14:15:27 · 1106 阅读 · 1 评论 -
Transformations.switchMap()
先看源码:/* * Copyright (C) 2017 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the Licens...原创 2020-03-18 16:03:30 · 3713 阅读 · 0 评论 -
Android新特性——App Bundles
在您的项目中添加 Play 核心库在开始使用 Play 核心库之前,您需要先将其作为 Gradle 依赖项导入应用模块,如下所示: // In your app’s build.gradle file: ... dependencies { // This dependency is downloaded from the Google’s Mave...原创 2020-01-16 12:26:56 · 1406 阅读 · 0 评论 -
插件化之VirtualApk
VirtualApk是滴滴开源的一套插件化方案,其支持四大组件,支持插件宿主之间的交互,兼容性强,在滴滴出行APP中有应用。下面是官方文档中与其他主流插件化框架的对比(查看原文):特性 DynamicLoadApk DynamicAPK Small DroidPlugin VirtualAPK 支持四大组件 只支持Activity 只支持Activ...原创 2020-01-16 12:00:48 · 259 阅读 · 0 评论 -
Android 主题
Theme、Style、Attr的基本概念Attr:属性,风格样式的最小单元;Style:风格,它是一系列Attr的集合用以定义一个View的样式,比如height、width、padding等;Theme:主题,它与Style作用一样,不同于Style作用于个一个单独View,而它是作用于Activity上或是整个应用,并具有向下的覆盖特性Theme的定义Theme的定义基本是一...原创 2020-01-07 15:38:25 · 766 阅读 · 0 评论 -
onTouchEvent
Android提供了GestureDetector类来处理一些常用的手势操作,比如说 onLongPress,onFling 等。但这里不使用GestureDetector,而是直接在自定义View重写的onTouchEvent中进行处理。欲实现的效果是:当手机按住屏幕时,如果在指定的时间内没有移动(如500毫秒),那么进入长按模式,此时手指在屏幕上移动都算作长按模式。如果手机按住屏幕就立马...原创 2019-11-29 11:22:58 · 418 阅读 · 0 评论 -
AndroidStudioSuperPlugin
https://github.com/b2b2244424/AndroidStudioSuperPluginThis Android Studio plugin automatically generates drawable selectors from appropriately named Android resources.https://github.com/inmite/and原创 2019-11-29 11:21:35 · 164 阅读 · 0 评论 -
Android App 安全的HTTPS 通信
漏洞描述对于数字证书相关概念、Android 里 https 通信代码就不再复述了,直接讲问题。缺少相应的安全校验很容易导致中间人攻击,而漏洞的形式主要有以下3种:自定义X509TrustManager在使用HttpsURLConnection发起 HTTPS 请求的时候,提供了一个自定义的X509TrustManager,未实现安全校验逻辑,下面片段就是当时新浪微博 sdk 内部的代...原创 2019-11-29 11:18:40 · 438 阅读 · 0 评论 -
Android的.so文件,32位处理器与64位处理器
一、ABI 是什么ABI 是 Application Binary Interface 的缩写。不同 Android 手机使用不同的 CPU,因此支持不同的指令集。CPU 与指令集的每种组合都有其自己的应用二进制界面(或 ABI)。 ABI 可以非常精确地定义应用的机器代码在运行时如何与系统交互。 您必须为应用要使用的每个 CPU 架构指定 ABI。典型的 ABI 包含以下信息:机器...原创 2019-10-31 17:37:50 · 5132 阅读 · 0 评论 -
Android 杂记
1,Intent.resolveActivity在自己的应用程序中利用第三方应用程序的Activity和Service是十分方便的,但是你无法保证用户设备上安装了特定的某个应用软件,或者设备上有能够处理你的Intent请求的程序。因此,在启动第三方APK里的Activity之前,确定调用是否可以解析为一个Activity是一种很好的做法。通过Intent的resolveActivit...原创 2019-10-29 18:37:37 · 146 阅读 · 0 评论 -
Google Play商店推广那些事
Play商店是Android的官方商店,虽然在大陆无法访问,但是这里依旧是重要的版本发布市场,尤其是对于那些国际化的产品。对于拓宽海外市场,付费推广就是一部分不可忽视的措施。而Android付费推广必然就是Play商店推广。本文主要从技术方面讲解,如何统计推广数据,以及在开发过程中遇到的一些疑问和困惑。生成推广链接想要进行推广,必须有推广链接。Google提供了生成推广链接的地址Googl...转载 2019-10-29 11:37:46 · 2238 阅读 · 0 评论 -
android中获得屏幕、视图、任务栏、状态栏的高宽以及屏幕的设置
首先,有一点需要声明,其实在android中,画布Canvas的高宽其实是屏幕的高宽。 如此一来,获得屏幕高宽的方法就很多了: 1. Java代码 WindowManager windowManager = getWindowManager(); Display display = windowManager.getDefaultDis转载 2013-06-14 11:08:12 · 736 阅读 · 0 评论 -
android 滑动菜单SlidingMenu的实现
首先我们看下面视图: 这种效果大家都不陌生,网上好多都说是仿人人网的,估计人家牛逼出来的早吧,我也参考了一一些例子,实现起来有三种方法,我下面简单介绍下:方法一:其实就是对GestureDetector手势的应用及布局文件的设计.布局文件main.xml 采用RelativeLayout布局.[java] view plaincopy转载 2013-06-14 13:34:36 · 833 阅读 · 0 评论 -
Android 的selector背景选择器应用
常做android的经常会用到selector,每一个控件,都需要单独的处理,只是依赖android本身的控件实在是太难看了。总结一下android的selector的用法:首先android的selector是在drawable/xxx.xml中配置的。先看一下listview中的状态:XML文件保存成你自己命名的.xml文件(比如list_item_bg.xml),在系统使用时根据原创 2013-07-10 13:43:39 · 799 阅读 · 1 评论 -
Socket两种简单通信方式
1、 Socket通信模型如下: 应用程序通过套接字可以进行通信,可以使用udp协议或者使用tcp协议,当客户端和服务器端的协议时相对应的,客户端使用tcp,那么服务器端使用tcp 2、 UDP协议:把数据打包成数据包,然后直接发送对应的ip地址,速度快,但是不保证成功率,并且数据大小有限TCP协议:首先连接接收方,然后发送数据,保证成功率, 速度慢 3、 TCP通信转载 2013-07-09 16:25:24 · 1372 阅读 · 0 评论 -
Android屏幕分辨率,尺寸获取问题
Android手机生产商很多,又没有硬性规定,所以android手机尺寸很多,分辨率也有很多种。因此一种应用要做到,在各个不同屏幕大小的手机上都能正常布局应用,不影响用户使用。网上有很多方法,总结一下:一.下面的方法是获得控件的大小 利用getLayoutParams()方法和setLayoutParams()方法。 三步曲: 1、首先利用getLay原创 2013-06-25 14:05:13 · 725 阅读 · 0 评论 -
Android实现推送方式解决方案
本文介绍在Android中实现推送方式的基础知识及相关解决方案。推送功能在手机开发中应用的场景是越来起来了,不说别的,就我们手机上的新闻客户端就时不j时的推送过来新的消息,很方便的阅读最新的新闻信息。这种推送功能是好的一面,但是也会经常看到很多推送过来的垃圾信息,这就让我们感到厌烦了,关于这个我们就不能多说什么了,毕竟很多商家要做广告。本文就是来探讨下Android中实现推送功能的一些解决方案,也转载 2013-07-10 15:34:17 · 550 阅读 · 0 评论 -
Android实现数据存储技术
本文介绍Android中的5种数据存储方式。 数据存储在开发中是使用最频繁的,在这里主要介绍Android平台中实现数据存储的5种方式,分别是:1 使用SharedPreferences存储数据2 文件存储数据3 SQLite数据库存储数据4 使用ContentProvider存储数据5 网络存储数据 下面将为大家一一详细介绍。 第一种: 使用Share转载 2013-07-12 15:13:35 · 518 阅读 · 0 评论 -
理解 Android 本地数据存储 API
简介: 对于需要跨应用程序执行期间或生命期而维护重要信息的应用程序来说,能够在移动设备上本地存储数据是一种非常关键的功能。作为一名开发人员,您经常需要存储诸如用户首选项或应用程序配置之类的信息。您还必须根据一些特征(比如访问可见性)决定是否需要涉及内部或外部存储器,或者是否需要处理更复杂的、结构化的数据类型。跟随本文学习 Android 数据存储 API,具体来讲就是首选项、SQLite 和内部及转载 2013-07-12 17:42:15 · 612 阅读 · 0 评论 -
android适配各种分辨率的问题
Android设备屏幕的尺寸是各式各样的,如小米是4英寸的,Xoom平板是10英寸;分辨率也千奇百怪,800×480,960×540等;Android版本的碎片化问题更是萦绕于心,不过在设计应用时可以分为两大块:3.0之前的版本和3.0之后的版本。这种情况会带来什么问题我们用三个假设来说明一下。假设你的手上有两个4英寸的设备,设备A的分辨率是800×480,设备B的分辨率是1600×960转载 2013-07-19 16:28:10 · 550 阅读 · 0 评论 -
Android权限列表
Android权限列表程序执行需要读取到安全敏感项必需在androidmanifest.xml中声明相关权限请求, 完整列表如下:android.permission.ACCESS_CHECKIN_PROPERTIES允许读写访问”properties”表在 checkin数据库中,改值可以修改上传( Allows read/write access to the “propertie转载 2013-07-19 16:34:16 · 946 阅读 · 0 评论 -
android Json解析详解(详细代码)
JSON的定义: 一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性。业内主流技术为其提供了完整的解决方案(有点类似于正则表达式 ,获得了当今大部分语言的支持),从而可以在不同平台间进行数据交换。JSON采用兼容性很高的文本格式,同时也具备类似于C语言体系的行为– Json.orgJSON Vs XML1.JSON和XML的数据可读性基本相同2转载 2013-07-30 11:40:25 · 737 阅读 · 2 评论 -
android手机分辨率整理
现在市面上的机子的分辨率有一下几种240X320(已经基本上没人用了,不过我的三星5670就是)320X480 现在最主流的低端安卓机都是这个分辨率460X640 早起的安卓机子在用,现在已经基本没有了480X800 现在最主流的中高端安卓智能机的分辨率,包括 windows phone也是这个分辨率480X854 这个是WFVGA,是480X800转载 2013-08-01 10:55:01 · 2097 阅读 · 0 评论 -
开发基于Google Map的Android应用
简介: 随着移动互联网应用的迅速发展,利用智能手机提供的实时地理位置信息服务功能扩展出众多 LBS(Location Based Service) 应用,将实时地理位置信息与手机的便捷、移动特性结合,为人们提供多种多样的应用场景,比如实时定位、导航、搜索周围好友、基于地理位置的信息推荐等。本文通过实例介绍如何开发基于 Google Map 的 Android 应用。概述本文以实例介绍如何开转载 2013-07-25 16:17:08 · 744 阅读 · 0 评论 -
Android开发开源源代码
Android经典的开源项目其实非常多,把自己熟悉的一些开源项目整理起来,希望能对Android开发同学们有所帮助 项目篇: 1.Apollo音乐播放器就一个很好的播放器,但是实现的特别好!!!地址:https://github.com/Splitter/android_packages_apps_apolloMod 2.Oschina客户端OSChina网站客转载 2013-07-29 16:47:56 · 2653 阅读 · 0 评论 -
Android Google Map API使用的八个步骤
题外话:一、 Android google map的应用有:1.我的位置:在地图上显示你的当前位置(通常在1000米范围内)。即使没有GPS,你也可以确定自己的位置。Google手机地图还支持内在GPS,也可以链接到蓝牙GPS传感器,以便更加准确定位用户的位置。“我的位置”的功能通过识别你附近无线发射塔的信息广播而确定你的位置的。转载 2013-08-05 17:18:53 · 1163 阅读 · 0 评论 -
remove @Override 错误更正解决
当工程导入的时候,有时候会出现这个错误,只要把@Override去掉就可以了。但是这样做麻烦。引起的原因参考:http://stackoverflow.com/questions/3735661/bug-with-override-annotations-in-eclipseThis is most likely because you are switching between原创 2013-08-13 14:45:16 · 760 阅读 · 0 评论 -
android对话框大全详解 一
app中肯定是少不了与用户交互的各种dialog,。 这里,总结了常用的9种dialog的实现方法。 除了popupwindow实现稍微麻烦一点,其他形似都相对简单,熟悉2便即可直接上源码package com.naoh.stu;import java.util.ArrayList;import andro转载 2013-08-14 13:24:34 · 762 阅读 · 0 评论 -
android对话框大全详解 二
Android 提供了 AlertDialog 类可通过其内部类 Builder 轻松创建对话框窗口,但是没法对这个对话框窗口进行定制,为了修改 AlertDialog 窗口显示的外观,解决的办法就是创建一个指定的 AlertDialog 和 AlertDialog.Builder 类。定义外观我们希望将上面默认的对话框外观修改为如下图所示的新对话框风格:转载 2013-08-15 14:09:22 · 760 阅读 · 0 评论 -
Google Map Place API的初步使用
本帖最后由 菲菲 于 2012-6-19 13:43 编辑如何使用Google Map Places APIhttp://www.paodot.net/?post=84Google Places API: Supported Place Typeshttp://code.google.com/intl/zh-TW/apis/maps/documentation/places转载 2013-08-15 14:21:32 · 3573 阅读 · 1 评论 -
Android百度地图API 之 定位周边搜索POI
1)布局文件res/layout/main.xml android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > android:la转载 2013-08-15 14:19:18 · 3006 阅读 · 0 评论 -
Android使用Google Map服务-根据地址定位
Android使用Google Map服务-根据地址定位根据地址定位是对根据GPS信息定位的一个改进,我们可以直接输入地址,获取到自己想要定位的地方,这更符合用户的需求。因为Google Map的地图定位是根据经纬度来完成的,所以我们需要根据地址信息,把地址解析成经纬度。这里需要:1.地址解析 (服务地址为:http://maps.google.com/api/geocode/js转载 2013-08-17 10:17:43 · 2174 阅读 · 0 评论 -
Android 学习资料收集汇总
本人习惯学习一门技术之前习惯先收集足够的相关资料后选择优秀的资料进行学习,android资料收集可以说是耗时最长的一次了,因为种种原因导致一直没有放下其他事情来专门学习,所以资料收集也是间断进行的。这里把收集的资料整理分享一下给大家(持续更新):一、学习最好的入门资料自然是视频,而技术视频非电驴莫属了,到电驴中搜索android视频可以看到非常多的视频,但还需要分类下载才行,有页面专门为某转载 2013-09-29 23:14:00 · 617 阅读 · 0 评论 -
android客户端从服务器端获取json数据并解析
今天总结一下:首先客户端从服务器端获取json数据1、利用HttpUrlConnection 1 /** 2 * 从指定的URL中获取数组 3 * @param urlPath 4 * @return 5 * @throws Exception 6 */ 7 public static Strin转载 2013-10-02 17:58:12 · 1130 阅读 · 0 评论 -
给Android应用开发者的十个建议
随着移动平台的发展和其应用的不断改善,质量成为决定成败的关键。用户要求他们选择安装的应用响应快、性能好,如果某个应用不能提供卓越的功能和稳定的用户体验,那这样的应用注定会被很快卸载。尽管现在Android智能手机和平板电脑的运行速率越来越快,但开发者仍需牢记,应用的运行环境仍受到电池和处理器等诸多资源的限制。以下是如何为应用“瘦身”的十条建议,以便能在当前和以后的所有Android转载 2014-06-24 10:07:35 · 429 阅读 · 0 评论 -
多式样ProgressBar
多式样ProgressBar普通圆形ProgressBar该类型进度条也就是一个表示运转的过程,例如发送短信,连接网络等等,表示一个过程正在执行中。一般只要在XML布局中定义就可以了。 android:layout_width="wrap_content" android:layout_height="wrap_conte转载 2014-06-26 16:48:25 · 468 阅读 · 0 评论 -
android webiew 控件的使用
今天做项目遇到webview控件,顺便做个整理:转载自:http://www.cnblogs.com/sepsun/archive/2012/05/06/2486583.html转载 2014-06-06 13:46:39 · 639 阅读 · 0 评论 -
Android <uses-sdk> 和 target 分析
Android中属性和target属性分析 1. 概要 用来描述该应用程序可以运行的最小和最大API级别,以及应用程序开发者设计期望运行的平台版本。通过在manifest清单文件中添加该属性,我们可以更好的控制应用在不同android 系统版本上的安装和兼容性体验问题。转载 2014-06-26 16:39:35 · 622 阅读 · 0 评论 -
关于This Handler class should be static or leaks might occur
更新到adt2.0的开发者们可能会在handler上发现这么一条警告:This Handler class should be static or leaks might occur 。 首先在ADT 20 Changes我们可以找到这样一个变化:New Lint Checks: Look for handler leaks: This chec转载 2014-06-27 10:12:45 · 525 阅读 · 0 评论 -
android:windowSoftInputMode属性详解
android:windowSoftInputModeactivity主窗口与软键盘的交互模式,可以用来避免输入法面板遮挡问题,Android1.5后的一个新特性。这个属性能影响两件事情:【一】当有焦点产生时,软键盘是隐藏还是显示【二】是否减少活动主窗口大小以便腾出空间放软键盘它的设置必须是下面列表中的一个值,或一个”state…”值加一个”adju转载 2014-06-11 17:30:57 · 777 阅读 · 0 评论