- 博客(49)
- 资源 (3)
- 收藏
- 关注
原创 乐视三面总结
Android面试总结:技术面: 1.单利模式的同步实现(解释为什么要两次判空)2.线程与进程的区别和联系3.排序方法的时间复杂度分析4.写一个二分查找5.用递归和非递归实现N的阶乘6.一个有序的数组 查找出和为N的两个数7.线程同步的实现都有哪些8.用ArrayList实现栈(需要考虑泛型)9.你还有什么问我的吗复面:1.讲述监听者模式
2016-09-24 19:01:21 724
原创 Android JNI 第一次使用
我们平时使用过so文件,也听过JNI编程,那么今天就学习简单的使用。首先应该配置NDK,下载NDK->解压->添加到环境变量.这样就完成了简单的配置。接着就是我们的主题application。创建一个工程,package com.example.myjni;import android.app.Activity;import android.os.Bundle;im
2016-08-28 16:18:25 603
原创 面试算法题目
求子数组的最大和题目:输入一个整形数组,数组里有正数也有负数。数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。求所有子数组的和的最大值。要求时间复杂度为O(n)。例如输入的数组为1, -2, 3, 10, -4, 7, 2, -5,和最大的子数组为3, 10, -4, 7, 2,因此输出为该子数组的和18。public int maxProduce(
2016-08-28 10:41:36 436
原创 Android 优化
1.背景2.应用UI性能问题分析2-1 应用UI卡顿原理2-2 应用UI卡顿常见原因2-3 应用UI卡顿分析解决方法2-3-1 使用HierarchyViewer分析UI性能2-3-2 使用GPU 过度绘制分析UI性能2-3-3 使用GPU 呈现模式图及FPS考核UI性能2-3-4 使用Lint进行资源及冗余UI布局等优化2-3-5 使用Memory 监测及GC
2016-08-07 09:41:15 351
原创 common colors
resources> color name="white">#FFFFFFcolor> color name="ivory">#FFFFF0color> color name="lightyellow">#FFFFE0color> color name="yellow">#FFFF00color> color name="snow">#FFFAFAc
2016-06-19 12:02:29 380
原创 android设计模式之---单例模式
一.单例模式的介绍单例模式是应用最广的模式之一,在应用的这个模式时,单例对象的类必须保证只有一个实例存在。许多的时候系统只需要拥有一个全局对象,这样有利于我们协调系统整体的行为。比如ImageLoader。二.懒汉模式public class singleton{ private static Singleton instance;private Singleton(){
2016-06-01 20:41:02 263
原创 系统设置之蓝牙模块分析
在蓝牙模块的开发中,许多的功能能够在普通的应用中实现,但是有些功能比如阻止/打开蓝牙可以被搜索,还是需要platform签名。。首先,在系统设置界面,蓝牙等同于wifi模块,都是一个switch控件,所以控制蓝牙模块的就有一个BlueToothEnabler类,其中核心的方法就是BlueToothEnabler.OnCheckedChanged()方法。代码如下: @Override
2016-05-16 09:46:43 816
原创 Theme
@color/status_red @color/status_red @color/action_red @color/window_bg_red @color/navigation_red @col
2016-04-04 21:42:41 245
原创 viewpager滑动页面动态实现
很多的APP首页都会有一个viewpager的滑动页面,一般来说这个结构是采用的webview可以很方便的实现信息的更新。但是我们一般还是采用的viewpager加一些小圆点的模式。为了更简单的实现这个效果,我就自己将这个弄成了自定义控件,这样只需要将图片资源的url数组传进去即可,方便我们的使用,acitvity的代码量大大减少。先来看一张效果图:和普通的效果没什么两样~
2016-04-02 10:33:19 591
原创 windowmanager params type
WindowManager.LayoutParams.type属性 (2014-05-04 16:08:58)转载▼ 分类: Androidtype 的取值: 应用程序窗口。 public static final int FIRST_APPLICATION_WINDOW = 1;
2016-03-15 13:39:04 343
原创 点击次数的判断
你是如何判断对一个按钮的多次连击了?下面的方法更简单long[] mHits = new long[3];// 数组长度表示要点击的次数public void onClick(View view) {System.arraycopy(mHits, 1, mHits, 0, mHits.length - 1);mHits[mHits.length - 1] = Syste
2016-03-15 12:39:14 1156
原创 一键锁屏
1.创建一个receiver继承自DeviceAdminReceiver2.在mainfest文件进行注册 android:name="com.itheima52.mobilesafe.receiver.AdminReceiver" android:description="@string/sample_device_admin_des
2016-03-14 16:50:00 319
原创 android 沉浸式导航栏的使用
从4.4之后开始支持沉浸式导航栏,可以这样设置 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE);
2016-03-06 14:06:05 891
原创 简单的验证码实现
简单的自定义View就可以搞定package com.example.test;import android.content.Context;import android.content.res.TypedArray;import android.graphics.Canvas;import android.graphics.Color;import android
2016-03-06 10:33:51 263
原创 android studio 搭载Git
1.首先在自己的PC上安装Git客户端,然后创建一个新的仓库。2.打开android studio 创建一个新的工程 工程名等于刚才创建仓库的名字,下面的文件存放位置也要改成仓库的地址。3.创建完成后来到设置页面目录链接到git.exe 点击右侧的Test 如果是这样 就正常。接着在github上登陆我们的账户就可以了。
2016-03-03 20:44:23 254
原创 CardView
CardView常用属性:card_view:cardElevation 阴影的大小card_view:cardMaxElevation 阴影最大高度card_view:cardBackgroundColor 卡片的背景色card_view:cardCornerRadius 卡片的圆角大小card_view:contentPadding 卡片内容于边距的间隔card_view:co
2016-03-02 19:40:51 336
原创 UltimateRecyclerView
UltimateRecyclerView是一个比RecyclerView还全面的类,具体的使用标识如下: /** * Created by root on 2016/3/1. */public class MainActivity extends AppCompatActivity { UltimateRecyclerView ultimateRecyclerView;
2016-03-01 20:02:00 4667 1
原创 客户端中消息的轮换出现 TextSwitcher
经常在应用中看到几条消息轮换着出现,我们也就实现这么个简单的功能,直接引用TextSwitcher这个控件就足以解决。。。 textswitcher= (TextSwitcher) this.findViewById(R.id.textswitcher); textswitcher.setFactory(this); Animation in = AnimationUtils.load
2016-03-01 15:24:01 333
原创 android AIDL中数据的传输
上面已经了解了AIDL的通信原理,那么就有必要说一说通信过程的数据传输了。首先肯定支持基本类型的传送,比如char ,int,string,byte,等。它还可以传输的类型有map,list,charsequence,这几种,当然map和list中泛型的支持必须是前面的基本类型。在使用List的时候需要指明是in还是out,如图所示在客户端的时候也必须使用ArrayList来接收。那如果我们想
2016-03-01 10:03:44 3262
原创 Android AIDL 初始学习
Android中的AIDL主要用于两个进程间的通信,大家都知道对于安卓来说一个APP应用就是一个独立的进程,那么要实现两个应用之间的通信,就需要依靠AIDL来实现。实现的步骤分为客户端和服务端,服务端依靠一个service类来完成,客户端绑定service 这样就可以实现简单的通信。我们以一个简单的计算过程来做了解,具体如下:首先是服务端建立AIDL文件,和普通的定义接口过程类似,这个文件
2016-03-01 09:18:47 318
原创 简单的文件上传到Servlet 采用的httpclient
需要在android端加入commons-httpclient-3.1.jar 文件 而servlet端需要 fileupload和io 的jar包代码如下 比较简单、1.Http上传封装好的类package com.example.root.ppload;import java.io.File;import org.apache.commons.httpclient.H
2015-10-25 14:26:47 1136
原创 各种开源框架集锦
这个帖子专门记录所遇到过的比较有用的开源框架,此贴为长久贴~。~1.Tab结合viewpager的开源框架地址:https://github.com/astuetz/PagerSlidingTabStrip2.swipeRefreshLayout例子地址:https://github.com/hanks-zyh/SwipeRefreshLayout3.首页的悬浮快捷菜单
2015-08-08 11:45:45 487
原创 最好用的下拉刷新
下拉刷新的开源库是很多的, https://github.com/android-cjj/BeautifulRefreshLayout 这个里面提到了很多的漂亮的下拉刷新样式。但是了我觉得既简单又实用才比较好,接下来就是google自带的下拉刷新swipeRefreshLayout控件的应用,我就介绍给大家:布局代码依旧如此的简单:android.support.v4.widge
2015-08-08 10:58:26 1074
原创 ActiveAdnroid的简单使用
我们在简单的操作sqllite数据库的时候总要编写那些sqliteopenhelper文件和操作增删改查的文件,显得比较麻烦,所以今天简单的介绍一个第三方的库的使用,ActiveAdnroid:首先我们必须导入library,然后第一步我们需要在manifes文件声明这些内容:\application android:allowBackup="true" android
2015-08-04 11:31:16 318
原创 网络请求开源库volley和AsyncHttp的使用
今天了解两个用于网络数据请求的开源库,第一个是volley这个的主要特征就是能够和activity生命周期相结合,当activity不在栈顶的时候线程也会自动断掉,缺点就是不适合大型文件的上传和下载,使用也挺方便的 具体操作如下:首先需要建立一个vollry队列 用于存储所有的请求public class MyApplication extends Application{ s
2015-07-30 12:02:47 480
原创 Intent.ACTION大全
由于Intent.Action比较多 所以就专门一个记录文章 经常更新:1.打开安装apk的action:Intent intent = new Intent(Intent.ACTION_VIEW);Uri uri = Uri.parse("file://" + apkFile.toString());intent.setDataAndType(uri, "application/
2015-07-29 17:51:59 444
原创 通过拍照或者图库获取图片并上传服务器
1.打开照相机获取图片:Intent intent=new Intent(MediaStore.ACTION_IMAGE_CAPTURE);startActivityForResult(intent, CAMERA_CODE);这个都是很简单的 只需要设置action然后startactivityforresult就可以if(data!=null){ Bundle
2015-07-29 09:48:13 921
原创 textview跑马灯和水平滚动条
跑马灯如下:TextView android:layout_width="100px"android:layout_height="wrap_content" android:text="234254fadfadffadfadfgfhdgfhjhfjhfjhjfhjfhjfhjfhjtyteytryet" android:marqueeRepeatLimit="marque
2015-07-28 17:28:48 350
原创 android的ondraw方法大全
下面是Canvas类常用的方法:drawRect(RectF rect, Paint paint) //绘制区域,参数一为RectF一个区域 drawPath(Path path, Paint paint) //绘制一个路径,参数一为Path路径对象drawBitmap(Bitmap bitmap, Rect src, Rect dst, Paint paint)
2015-07-22 10:03:09 1434
原创 关于wifi的方法
//重新获取当前wifi连接信息public void againGetWifiInfo(){ wifiInfo=wifiManager.getConnectionInfo();}//判断wifi是否开启wifi网卡public boolean isNetCardOpen(){ return wifiManager.isWifiEnabled();}//判断当前是否正在
2015-07-20 10:41:23 342
原创 简单的利用sax解析xml
sax解析其实是很简单的,主要代码如下 :public void parseXml(){ SAXParserFactory factory=SAXParserFactory.newInstance(); SAXParser parser; SAXPraserHelper helper=null; try{ parser=factory.newSA
2015-07-19 09:58:35 238
原创 简单的按钮拖动事件
1.重写ontouchlistenerclass MyOnTouch implements OnTouchListener {int[] temp = new int[] { 0, 0 };Boolean ismove = false;int downX = 0;int downY = 0;@Overridepublic boolean onTouch(View
2015-07-03 12:03:00 487
原创 android 多线程 图片:加载
android获取网络图片这块一直是个很烦的问题。涉及线程消耗,网络请求,ui跟新,图片缓存,图片大小,如果数据多,还涉及到多线程问题。然后查了下资料,一般有下面4种方式,这里我就讲下第4种,线程池方式1、Handler.post()2、new Thread()3、AsyncTask()4、Executors()下面例子比较简单,基础功能:图片缓
2015-07-01 19:05:42 1176
原创 numberprogressbar开源项目的介绍
开源地址为https://github.com/daimajia/NumberProgressBarandroid studio 添加compile 'com.daimajia.numberprogressbar:library:1.2@aar'就可以。使用也非常的简单 代码如下 com.daimajia.numberprogressbar.NumberPr
2015-06-27 21:22:27 661
原创 FlatUi的简单介绍
在网上没找到详细的介绍,所以还是自己动手完成任务吧~~好难!!首先就是里面包含空间的分类 如下:com.cengalabs.flatui.views.FlatEditText android:layout_width="wrap_content" android:layout_height="wrap_content" />com.cengalabs.flatui.v
2015-06-25 18:45:23 1329
原创 RecyclerView的基本使用
传统的ListView了最多的优化也只能使用你自定义的一个布局,于是乎出现了RecyclerView这样的更加方便的东西。接下来就简单的说一说它的使用吧:1.首先 我们要导入jar包,或者在android studio上moudle的build.gradle文件中添加这么一句话 compile 'com.android.support:recyclerview-v7:22.2.0'2.
2015-06-24 20:51:25 415
原创 手机网络状态
1.判断是否连接网络public boolean isConnectToNetWork(){ boolean connect=false; ConnectivityManager cm= (ConnectivityManager) this.getSystemService(Context.CONNECTIVITY_SERVICE); if(cm!=null){
2015-06-24 11:16:13 441
原创 简单的加载进入页面
有一些程序在你首次进入的时候需要后台加载一些东西,这些任务你需要通过异步来加载,但是前台了,你就需要一个加载的效果来等待了。之前我自己都是从一个Activity跳转到另一个Activity,忽然觉得那替换fragment岂不是更简单。所以就在下面展出此次的代码:1.加载页面的fragment代码public class DataLoaderFragment extends Frag
2015-06-24 10:07:28 759
原创 简单的自动刷新或者下拉刷新
这是一个简单的自动加载listview的例子,如果还没有加载的时候你下拉到最下面会出现Loading的布局。好了 挺简单的直接看代码吧1.为listview写一个adapterpublic class SimpleAdapter extends BaseAdapter{ int mcount=20; LayoutInflater inflater; String
2015-06-24 10:01:17 564
原创 android简单的点击刷新
我们要实现的就是actionbar中刷新的图标,点击之后进行刷新,刷新完成后又回到原先的图标;首先创建一个耗时任务:class FakeTask extends AsyncTask,Void,Void>{ @Override protected Void doInBackground(Void... params) { try {
2015-06-24 09:54:32 1454
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人