![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android
大圣取经:)
这个作者很懒,什么都没留下…
展开
-
ThreadLocal
关于ThreadLocalThreadLocal为解决多线程程序的并发问题提供了一种新的思路(非同步方案)。Synchronized用于线程间的数据共享,而ThreadLocal则用于线程间的数据隔离。ThreadLocal为每个使用该变量的线程提供独立的变量副本,所以每一个线程都可以独立地改变自己的副本,而不会影响其它线程所对应的副本,从而实现了线程隔离。原理Thread通过Threa...原创 2019-03-12 21:21:13 · 154 阅读 · 0 评论 -
Android导入开源库及jar等文件到基于Android Studio构建的项目中
发布了Android Studio 1.0的正式版,也有更多的人开始迁移到Android Studio进行开发。然而,网上很多的开源库,控件等还是以前的基于Eclipse进行开发,很多人不知道怎么导入到自己的基于Android Studio项目中来,微博上也有人私信我,让我来写写,正好今天回来的比较早,就写写吧。主要介绍一下常见的一些导包的场景。 前言 ? 1 2 3 4 5 6原创 2016-04-23 21:22:02 · 348 阅读 · 0 评论 -
Android开发流程
需求分析文档编写原型图设计数据库设计框架搭建项目部署项目上传商店原创 2016-04-23 21:19:42 · 282 阅读 · 0 评论 -
WeakReference的使用
如果这样: public class AutoActivity extends Activity {Handler handler = new Handler(){ public void handleMessage(android.os.Message msg) { };};@Overrideprotected void onCreate(Bundle savedInstan转载 2016-04-23 21:18:24 · 2689 阅读 · 0 评论 -
LiatView下拉图片放大
public class PullZoomListView extends ListView { /头部View 的容器/ privateFrameLayout mHeaderContainer; /头部View 的图片/ privateImageView mHeaderImg; /屏幕的高度/ privateintmScree原创 2016-04-23 21:17:37 · 512 阅读 · 0 评论 -
引导页中ViewPage的使用
整体思想: 为布局文件中设置adapter,重写ViewPager.OnPageChangeListener以及ontouch事件,ontouch方法判断是否加载到最后一页,如果是,则跳转到应用首页。布局文件:activity_welcome原创 2016-04-23 21:17:07 · 261 阅读 · 0 评论 -
欢迎页实现
import android.content.Intent; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.view.KeyEvent;import com.loopj.android.http.JsonHttpResponseHandler; i原创 2016-04-23 21:16:38 · 401 阅读 · 0 评论 -
项目自定义Preferences
import android.content.Context; import android.content.SharedPreferences; import android.content.SharedPreferences.Editor; import android.content.pm.PackageInfo; import android.content.pm.PackageMa原创 2016-04-23 21:15:51 · 509 阅读 · 0 评论 -
时间日期工具类(相关转化)
import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date;/** * Created by w on 2016/3/7. */ public class DateUtils { private static SimpleDateFormat sf = nu原创 2016-04-23 21:14:59 · 218 阅读 · 0 评论 -
Android 日志工具类log
import android.os.Environment; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.text.SimpleDateFormat; import ja原创 2016-04-23 21:14:35 · 305 阅读 · 0 评论 -
Android自定义Toast
import android.content.Context; import android.content.Intent; import android.view.Gravity; import android.view.LayoutInflater; import android.view.View; import android.widget.TextView; import an原创 2016-04-23 21:14:08 · 228 阅读 · 0 评论 -
android studio导入jar包
这里以导入Google Services library为例,具体操作步骤如下。打开你的buid.gradle文件。应该用哪一个呢?Project中的,还是Module中的?(如图所示,Module中的)2 . 将google-play-services.jar这个jar包拷到指定的位置。原来可能是在这个目录下:ANDROID−SDK/extras/google/googleplayservic原创 2016-04-23 21:22:31 · 435 阅读 · 0 评论 -
Android apk反编译
一、apk反编译生成程序的源代码和图片、XML配置、语言资源等文件 下载反编译工具包:apktool 具体步骤: 将下载好的反编译工具包解压到android-apk文件夹里面。 在命令行下定位到android-apk文件夹,输入以下命令:java -jar apktool.jar d android.apk,出现如图所示:说明反编译成功 上图中,apktool.j原创 2016-04-23 21:25:46 · 417 阅读 · 0 评论 -
Android中UI线程与后台线程交互设计的5种方法
在android的设计思想中,为了确保用户顺滑的操作体验。一些耗时的任务不能够在UI线程中运行,像访问网络就属于这类任务。因此我们必须要重新开启一个后台线程运行这些任务。然而,往往这些任务最终又会直接或者间接的需要访问和控制UI控件。例如访问网络获取数据,然后需要将这些数据处理显示出来。就出现了上面所说的情况。原本这是在正常不过的现象了,但是android规定除了UI线程外,其他线程都不可以对那些U转载 2016-09-11 23:12:16 · 379 阅读 · 0 评论 -
Retrofit使用介绍
文章目录常用网络请求框架Android-async-httpVolleyOkHttpRetrofitRetrofit IntroductionRetrofit基本使用Retrofit注解REQUEST METHOD网络请求标记网络请求参数GET的使用@Query的使用@QueryMap的使用@Body的使用@FormUrlEncoded、@Field的使用@Multipart、@Part的使用@H...原创 2019-05-10 00:05:58 · 308 阅读 · 0 评论 -
android Messenger
文章目录Messenger 简介Messenger 的使用服务端在收到消息后会使用 Message.replyTo 对应的信使回复消息。客户端(创建 Messenger 对象,传递一个 Handler,在 Handler 中处理消息)总结使用步骤Messenger 简介Messenger “信使”,顾名思义,它的作用就是传递信息。Messenger 有两个构造函数:以 Handler 为参...原创 2019-03-14 23:35:12 · 1294 阅读 · 0 评论 -
Window机制
文章目录引言关于Activity、Window和View我们的工匠大神Activity美丽的窗花View灵活的窗户WindowViewRootDecorViewDecorView的创建DecorView的显示总结Thanks引言在Android开发中,一直都是使用Activity来显示并与用户交互,那么Activity是如何将具体的view显示给用户?如何控制与用户交互?从Window机制中,...原创 2019-03-14 23:25:57 · 254 阅读 · 0 评论 -
Android内存管理源码分析
在Android中 ,实现了标注与清理(Mark and Sweep)和拷贝GC,但是具体使用什么算法是在编译期决定的,无法在运行的时候动态更换 – 至少在目前的版本上(4.2)还是这样。在Android的dalvik虚拟机源码的Android.mk文件(路径是/dalvik/vm/Dvm.mk)里,有类似代码清单14 - 5的代码,即如果在编译dalvik虚拟机的命令中指明了"WITH_COPY...转载 2019-03-09 18:30:05 · 744 阅读 · 0 评论 -
通信-Socket
一、Socket通信简介 Android与服务器的通信方式主要有两种,一是Http通信,一是Socket通信。两者的最大差异在于,http连接使用的是“请求—响应方式”,即在请求时建立连接通道,当客户端向服务器发送请求后,服务器端才能向客户端返回数据。而Socket通信则是在双方建立起连接后就可以直接进行数据的传输,在连接时可实现信息的主动推送,而不需要每次由客户端想服务器发送请求。 那么,什么转载 2016-09-11 23:08:27 · 367 阅读 · 0 评论 -
Android学习知识图谱
Android学习知识图谱转载 2016-08-13 17:48:33 · 612 阅读 · 0 评论 -
线程、进程及线程通信
进程 在Android中,一个应用程序就是一个独立的进程(应用运行在一个独立的环境中,可以避免其他应用程序/进程的干扰)。一般来说,当我们启动一个应用程序时,系统会创建一个进程(从Zygote中fork出来的,这个进程会有独立的ID),并为这个进程创建一个主线程(UI线程),然后就可以运行MainActivity了,应用程序的组件默认都是运行在它的进程中,但我们可以通过指定应用的组件(四大组件)的转载 2016-09-11 23:26:42 · 358 阅读 · 0 评论 -
Android跨进程通信的四种方式
由于android系统中应用程序之间不能共享内存。因此,在不同应用程序之间交互数据(跨进程通讯)就稍微麻烦一些。在android SDK中提供了4种用于跨进程通讯的方式。这4种方式正好对应于android系统中4种应用程序组件:Activity、Content Provider、Broadcast和Service。其中Activity可以跨进程调用其他应用程序的Activity;Content Pr转载 2016-09-11 23:25:03 · 2119 阅读 · 0 评论 -
Android三种网络通信方式
网络编程的目的就是直接戒间接地通过网络协议不其他计算机进行通讯。 网络编程中有两个主要的问题, 一个是如何准确的定位网络上一台戒多台指主机; 另一个就是找到主机后如何可靠高效的进行数据传输。 目前使用最广泛的因特网协议是TCP/IP协议: 在TCP/IP协议中IP层主要负责网络主机的定位,数据传输的路由,由IP地址可以唯一地确定Internet上的一台主机。而TCP层则提供面向应用的可靠的转载 2016-09-11 23:14:15 · 2426 阅读 · 0 评论 -
Android 手机号、身份证号、邮件,从view得到图片、去除html标签工具类
import android.content.Context; import android.content.Intent; import android.graphics.Bitmap; import android.graphics.Bitmap.Config; import android.graphics.Canvas; import android.graphics.Color;原创 2016-04-23 21:13:35 · 412 阅读 · 0 评论 -
Android PullToRefreshScrollView、AutoHeightListView、AutoScrollViewPager的使用
效果图:布局文件ftagment_main:原创 2016-04-23 21:13:05 · 295 阅读 · 0 评论 -
android 点击切换头像图片
使用avatarPick插件显示选择图片dialog:private void showDialog() { if (photoChoose == null) { photoChoose = PhotoChoose.build(mActivity, new PhotoChoose.OnPhotoChooseListener() {原创 2016-04-23 21:11:47 · 1313 阅读 · 0 评论 -
android开发工具
三种方式: 第一种: ·ADT Bundle for Windows(集成开发环境) ·http://debeloper.android.com/sdk/index.html 第二种: ·最新推出的android studio开发环境(推荐) ·http://debeloper.android.com/sdk/install原创 2015-08-19 16:43:49 · 361 阅读 · 0 评论 -
The method replace(int, Fragment) in the type FragmentTransaction is not applica
解决方案: 1.应导入import android.support.v4.app.Fragment; 2.应继承FragmentActivity; 3.以getSupportFragmentManager().beginTransaction().replace(R.id.show_container, showMessageFragment).commit(); Activity:fra原创 2015-08-19 16:30:08 · 342 阅读 · 0 评论 -
Android Studio中R文件丢失
问题:Android Studio中,项目出现错误后,clean项目后导致R文件丢失。 原因:xml文件中存在问题 解决:解决项目xml中的问题后重新 rebuild项目。原创 2015-08-19 16:03:18 · 2016 阅读 · 0 评论 -
Android Studio导入SlidingMenu流程详解及相关问题
1.创建项目 File->new->new project 2.将SlidingMenu以Moudle形式导入 File->new->import Modul->选择文件(SlidingMenu-master/SlidingMenu-master/libiary) 3.File->project structure->点击app->dependence->点击原创 2015-08-19 16:04:31 · 1000 阅读 · 0 评论 -
android 首页fragment切换
布局文件: android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > android:id="@+id/content_frame_main" android:原创 2015-08-24 17:22:49 · 784 阅读 · 0 评论 -
android 自定义对话框
自定义对话框:其中R.layout.dialog_prompt为自定义对话框样式dialog_prompt.xml文件。public class PromptDialog extends Dialog implements View.OnClickListener { private OnPromptDialogListener mButtonselcetor; private原创 2015-08-23 20:51:53 · 430 阅读 · 0 评论 -
利用PushToRefreshLibrary刷新ListView
1.在GitHub上下载PushToRefreshLibrary 2.将开源框库PushToRefreshLibrary导入项目并add library 3.具体代码调用可参考一下文件主文件:AllJobListActivity.javapublic class AllJobListActivity extends BaseActivity implements OnItemClickList原创 2015-08-23 15:12:35 · 1137 阅读 · 0 评论 -
android LayoutInflater三种获取方式
1.获取LayoutInflater对象有三种方法LayoutInflater inflater=LayoutInflater.from(this); LayoutInflater inflater=getLayoutInflater(); LayoutInflater inflater=(LayoutInflater)this.getSystemService(LAYOUT_INFLATER_原创 2015-08-23 15:52:39 · 515 阅读 · 0 评论 -
android获得圆角图片
“`import com.loopj.android.image.SmartImageView;import android.content.Context; import android.graphics.Bitmap; import android.graphics.Bitmap.Config; import android.graphics.Canvas; import android原创 2015-08-23 11:41:00 · 595 阅读 · 0 评论 -
Android开发需要的软件及环境
·ADT Bundle for Windows(集成开发环境)·http://debeloper.android.com/sdk/index.html·最新推出的android studio开发环境·http://debeloper.android.com/sdk/installing/studio.html(翻墙)搜索Android Developer->develop-原创 2015-05-23 18:30:53 · 501 阅读 · 0 评论 -
OptionMenu布局问题
OptionMenu在4.0以前版本为方形布局,在4.0之后变成条状布局。 变为4.0以前版本方法: 在配置文件的**<activity ……></activity>中添加了android:theme="@android:style/Theme"**原创 2015-08-19 16:15:20 · 382 阅读 · 0 评论 -
android判断网络是否可用
public static boolean isNetworkAvailable(Context context) { if(context != null){ ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVI原创 2015-08-20 16:26:14 · 473 阅读 · 0 评论 -
Android常用包相关说明
1:android.app :提供高层的程序模型、提供基本的运行环境 2:android.content :包含各种的对设备上的数据进行访问和发布的类 3:android.database :通过内容提供者浏览和操作数据库 4:android.graphics :底层的图形库,包含画布,颜色过滤,点,矩形,可以将他们 直接绘制到屏幕上. 5:android.location :定位和相关服原创 2016-04-23 21:08:31 · 324 阅读 · 0 评论 -
Studio导入SlidingMenu流程详解及相关问题
1.创建项目 File->new->new project 2.将SlidingMenu以Moudle形式导入 File->new->import Modul->选择文件(SlidingMenu-master/SlidingMenu-master/libiary) 3.File->project structure->点击app->dependence->点击原创 2016-04-28 21:06:17 · 346 阅读 · 0 评论