综合
文章平均质量分 74
司小三石
努力生活,快乐写代码
展开
-
程序员别迷茫,通往成功的路有很多条
有个网友给我留言,说看了我的上篇文章《三个月不工作,我才转行成了程序员》,感触很深,自己和奶爸的经历类似,也是从其它行业,转到IT圈做了一名程序员。如今已有2年时间,大大小小也参与了一些系统开发项目,可如今感觉机械化的重复写程序很没有意思,再转一次行成本太大,如今年龄也不小了,不想再折腾。不知道下一步该怎么办?看到他的困惑,如同看到了当年奶爸自己,自己也是摸着石头过河,才一步步走上岸来转载 2016-03-30 17:37:58 · 2983 阅读 · 0 评论 -
Android6.0和7.0新特性分析
Android N已经发布有段时间,甚至马上都要发布Android 7.1,相信不少玩机爱好者已经刷入最新的Android N 7.1 Beta ROM 体验起来,即使你没有能够刷入的设备,通过模拟器来先行体验下,也不错。不过对于Android的ROM来说,特别是国内的ROM厂家,估计就比较头大了,Merge代码估计要疯了。下面,我们就来看看Android N到现在给我们带来哪些新特性,以转载 2017-01-03 15:32:16 · 32772 阅读 · 3 评论 -
2016Android开发技术篇
Android平台今年Android新版本7.0的出现要比往年早一些,在IO大会前两个月就发布了开发者预览版,与此同时还推出了Android测试版计划,学习微软的Windows Insider,让用户也能提前体验最新版系统。新系统最受欢迎的新功能包括Doze模式和增强的通知中心。与Android相关的平台今年也获得更新,包括Android Wear 2.0,能够独立运行App;转载 2017-01-03 14:57:32 · 2971 阅读 · 0 评论 -
Android怎样避免内存泄漏的问题,不断补充中
1. 使用更加轻量的数据结构例如,我们可以考虑使用ArrayMap/SparseArray而不是HashMap等传统数据结构。通常的HashMap的实现方式更加消耗内存,因为它需要一个额外的实例对象来记录Mapping操作。另外,SparseArray更加高效,在于他们避免了对key与value的自动装箱(autoboxing),并且避免了装箱后的解箱。2. 避免在Android里面使用En原创 2016-10-31 09:47:55 · 676 阅读 · 0 评论 -
从BaseActivity与BaseFragment的封装谈起 不错的文章
源至Hongyang微信公众号,博客源址:从BaseActivity与BaseFragment的封装谈起源码地址AndroidStudio开发环境:源码下载这篇博客主要是从BaseActivity与BaseFragment的封装开始,总结自己在实战开发中关于Fragment的注意事项以及心得体会。先看以下效果图: 这里模拟的是用户登录模块,你可能会说转载 2016-10-19 09:55:22 · 797 阅读 · 0 评论 -
Android 开发中Intent.Action
1 Intent.ACTION_MAINString: android.intent.action.MAIN标识Activity为一个程序的开始。比较常用。Input:nothingOutput:nothing activity android:name=".Main" android:label="@string/app_name">原创 2016-11-07 14:18:52 · 490 阅读 · 0 评论 -
Android内存泄漏分析及调试
首先了解一下dalvik的Garbage Collection: 如上图所示,GC会选择一些它了解还存活的对象作为内存遍历的根节点(GC Roots),比方说thread stack中的变量,JNI中的全局变量,zygote中的对象(class loader加载)等,然后开始对heap进行遍历。到最后,部分没有直接或者间接引用到GC Roots的就是需要回收的垃圾转载 2016-10-26 13:40:51 · 561 阅读 · 0 评论 -
Android Studio 常用功能介绍
Android Studio 的基本用法界面介绍讲解1这个界面,显示了我们使用 Android Studio时经常接触到的功能面板。Project 面板。用于浏览项目文件。 Project 面板会显示当前的所有的 module 。 android application module 会显示一个手机图标(下图中的 app );android li原创 2016-10-26 13:37:49 · 3752 阅读 · 1 评论 -
ListView中addHeaderView()和addFootView细节,带案例代码
要实现类似IMBd类似的布局。 可以看出它的列表上方的图片展示区和下面列表条目是一体的,在上下滚动的时候。而图片展示区不是列表条目。当然可以分别实现,图片展示区用Gallery,下面用ListView,但是如果横屏,则ListView部分的高度将很短,不方便上下滚动选择。也可以强制竖屏,不过这样用户体验会变差。其实ListView提供了Header,IMBd实现的图片展原创 2016-09-08 10:57:08 · 5436 阅读 · 0 评论 -
android studio生成aar包并在其他工程引用aar包
1.aar包是Android studio下打包android工程中src、res、lib后生成的aar文件,aar包导入其他android studio 工程后,其他工程可以方便引用源码和资源文件2.生成aar包步骤:①.用android studio打开一个工程,然后新建一个Module,新建Module时候选择Android Library,后面按新建普通工程操作转载 2017-01-04 20:14:27 · 396 阅读 · 0 评论 -
android中各种控件,及其方法介绍
View是Android UI组件的基类,ViewGroup是容纳UI组件的容器,ViewGroup本身也是从View派生出来的。简单的说,Android UI界面是由View和ViewGroup及其派生类组合而成的,其结构示意图:下面将简单的介绍View与GroupView原理以及其子类。详解1、View与ViewGroup转载 2017-01-09 13:49:37 · 721 阅读 · 0 评论 -
关于Android Service面试点总结
一、什么是Service?Service通常总是称之为“后台服务”.Service(服务)是一个一种可以在后台执行长时间运行操作而没有用户界面的应用组件。服务可由其他应用组件启动(如Activity),服务一旦被启动将在后台一直运行,即使启动服务的组件(Activity)已销毁也不受影响。此外,组件可以绑定到服务,以与之进行交互,甚至是执行进程间通信 (IPC)。其转载 2017-11-01 10:31:14 · 1117 阅读 · 1 评论 -
WebAPP对NativeApp的优缺点
自Iphone和Android这两个牛逼的手机操作系统发布以来,在互联网界从此就多了一个新的名词-WebApp(意为基于WEB形式的应用程序,运行在高端的移动终端设备。我相信各位童鞋应该和我刚开始一个样子,到处查找贴子,学习如何制作WebApp项目,我们(切图网)长期从事webapp开发外包服务,累计了非常多的开发经验,希望和大家共同探讨学习WebApp。那么WebApp与Nati转载 2017-06-22 13:26:55 · 4532 阅读 · 0 评论 -
2017年android常用的框架介绍
一.榜单介绍 排行榜包括四大类:单一框架:仅提供路由、网络层、UI层、通信层或其他单一功能的框架混合开发框架:提供开发hybrid app、h5与webview结合能力、web app能力的框架企业级开源项目:可以独立运行的app,有极高的学习价值、思路借鉴意义书籍类开源项目:类似Open-sourc-project这样的导航类项目;大型公司的Android课程的学习目录转载 2017-07-10 16:19:35 · 5489 阅读 · 0 评论 -
网上看到的收藏了
22个值得收藏的Android开源代码-UI篇本文介绍了android开发者中比较热门的开源代码,这些代码绝大多数可以直接应用到项目中。FileBrowserView一个强大的文件选择控件。界面比较漂亮,使用也很简单。特点:可以自定义UI;支持复制、剪切、删除、移动文件;可以用在Fragment、ativity、Dia转载 2017-06-08 11:24:41 · 376 阅读 · 0 评论 -
Android中的socket编程,基础
本身就是菜鸟一枚。所以学习的一切东西都是在网上查找资料而得来的。不过如果中间可能会遇到一些问题,这些问题可能大家在学习的时候也会遇到,所以就很小心的记录了下来。主要源码如下:Android 客户端:主要代码:class MyThread extends Thread { public String txt1; public MyThread(St原创 2017-04-19 08:59:21 · 445 阅读 · 0 评论 -
Git 分支管理与开发流程
参考连接http://www.ituring.com.cn/article/56870http://semver.org/lang/zh-CN/http://blog.csdn.net/jasper_hou/article/details/52200495 摘要:1. 主分支是所有开发活动的核心分支。所有的开发活动产生的输出物最终都会反映到主分支的代转载 2017-03-30 11:12:52 · 6965 阅读 · 4 评论 -
Android Studio Git使用
不使用SourceTree,直接使用Android Studio做代码管理1.导入项目克隆下来的项目默认都是在master分支上面开发 2.切换分支窗口右下角快捷切换分支操作Local Branches 表示已经迁到本地的分支Remote Branches 表示远程服务器上存在的分支由于项目导入的时候默认是master原创 2017-03-30 09:12:00 · 1042 阅读 · 1 评论 -
原创技术博客的地址,仅供参考
http://www.cnblogs.com/android007/ 博客园 android 007原创 2017-02-13 09:53:39 · 409 阅读 · 0 评论 -
Android 内存泄露实践分析
定义内存泄漏也称作“存储渗漏”,用动态存储分配函数动态开辟的空间,在使用完毕后未释放,结果导致一直占据该内存单元。直到程序结束。(其实说白了就是该内存空间使用完毕之后未回收)即所谓内存泄漏。 内存泄漏形象的比喻是“操作系统可提供给所有进程的存储空间正在被某个进程榨干”,最终结果是程序运行时间越长,占用存储空间越来越多,最终用尽全部存储空间,整个系统崩溃。所以“内存泄漏”是从操作系转载 2016-09-19 16:16:52 · 2645 阅读 · 0 评论 -
Android中比较好用的框架
1、volley 项目地址 https://github.com/smanikandan14/Volley-demo (1) JSON,图像等的异步下载; (2) 网络请求的排序(scheduling) (3) 网络请求的优先级处理 (4) 缓存 (5) 多级别取消请求 (6) 和Activity和生命周期的联动(Activity结束时同时取消所有网络请原创 2016-08-12 14:29:34 · 1091 阅读 · 0 评论 -
EventBus的详细解析
项目使用的技术呢,说白了,就是将要传递的event(一个Object对象,可任意自定义),发送到公共的组件EventBus中进行存储,在通过EventBus传递给订阅者(使用者),订阅者收到event消息,就可以自行处理了。不要被标题迷惑了,其实在任何地方 都可以发送和接收event(event,是一个通称,表示任意的数据对象,是一个消息类型)。当然有需要注意的转载 2016-05-06 16:47:51 · 1733 阅读 · 0 评论 -
android开发经验总结
工作这么长时间了,也学习到了不少的知识,很多东西都需要理解记忆。以前在课本上学习的东西,迁移到工作当中虽然,有很多是用不到的,但是基础的知识点还是很有用的。有时在书上看到非常难理解的,自己练习demo很难用到的东西,在工作当中,都能随时的使用到。下面是我工作的总结。1. 抽象,封装。 学习的时候,感觉这部分内容,真的是非常的抽象,也能看懂,但是就是自己写小程序的时候,用不到。不知原创 2016-05-30 16:06:40 · 418 阅读 · 0 评论 -
写程序,每天眼高手低,遇到一些错误
1. 今天一到早到公司,改程序,改的挺顺利的不到半个小时,就把业务逻辑代码从Activity中分离了出去,所以就可以测试程序,是否真的改写正确了,测试时确实,出现了一个bug。改写的功能是意见反馈功能。前边人把"提交意见"这个按钮的点击事件写入到了initView()方法中,我也懒得再去分离,直接按照他的方法来了。在获取意见内容的时候,不小心把获取意见内容的代码写到了点击事件的外边,程序运行一直提原创 2016-05-10 09:51:21 · 592 阅读 · 0 评论 -
Android最精彩,最新的面试题。个人总结
Java基础: 1、内存泄露的原因: 资源对象没关闭。 如Cursor、File等资源。他们会在finalize中关闭,但这样效率太低。容易造成内存泄露。 SQLiteCursor,当数据量大的时候容易泄露使用Adapter时,没有使用系统缓存的converView。即时调用recycle()释放不再使用的Bitmap。 适当降低Bitmap的采样率,如: 复制代码转载 2016-04-29 13:23:15 · 2859 阅读 · 0 评论 -
Android中,Intent.setFlags();几个常用的属性
Flag是一些常用的标志,不同的Flag有不同的用途。例如:FLAG_ACTIVITY_BROUGHT_TO_FRONT 这个标志一般不是由程序代码设置的,如在launchMode中设置singleTask模式时系统帮你设定。FLAG_ACTIVITY_CLEAR_TOP 如果设置,并且这个Activity已经在当前的Task中运行,因此,不再是重新启动一个这个Acti原创 2016-04-27 13:56:25 · 13366 阅读 · 0 评论 -
Android软键盘的含义IME_ACTION_NEXT
"EditText + Button" 形成一个 "输入+按键响应" 的案例在Android编程中是最常见不过的了。在EditText输入后,点击Button进行请求,软键盘应该自行消失在EditText输入后,不点击Button进行请求,而是直接点击软键盘上的"回车",那么也应该能够正常响应请求针对问题1,可以在响应Button的onClick事件中,主动将软键盘隐藏,原创 2016-04-27 11:28:03 · 9074 阅读 · 0 评论 -
经典架构篇,请阅读
架构因人而异,不同的架构师大多会有不同的看法;架构也因项目而异,不同的项目需求不同,相应的架构也会不同。然而,有些东西还是通用的,是所有架构师都需要考虑的,也是所有项目都会有的需求,比如API如何设计?架构如何分层?开发环境和生产环境如何分离?这几年,我负责研发过的App,有餐饮类的、社交类的、智能家居类的、电商类的、新闻媒体类的等等。当有了一定的经验之后,你总会有一些自己的心得体会。而以下内容就转载 2016-03-24 18:00:38 · 1275 阅读 · 0 评论 -
Android studio 的知识-----下载和安装
背景相信大家对Android Studio已经不陌生了,Android Studio是Google于2013 I/O大会针对Android开发推出的新的开发工具,目前很多开源项目都已经在采用,Google的更新速度也很快,明显能感觉到这是Android开发的未来,那么我们还有什么理由不去拥抱未来呢?虽然推出了很久,但是国内貌似普及的程度并不高,鉴于很多朋友求studio的详细教程,原创 2016-06-02 17:30:42 · 1464 阅读 · 0 评论 -
Android Studio的基本设置与运行
项目结构当我们新建一个项目的目录结构默认是这样的可以看到和Eclipse的目录结构有很大区别,Studio一个窗口只能有一个项目,而Eclipse则可以同时存在很多项目,如果你看着不习惯可以点击左上角进行切换切换到“project”模式下的目录结构是这样的,我个人也更习惯这种格式和Eclipse的区别有如下:原创 2016-06-12 11:10:05 · 550 阅读 · 0 评论 -
Fragment相关的笔记整理
Fragment出现的缘由不同大小屏幕的手机、平板、以及TV要展示统一的界面,但是由于屏幕大小不同,布局展示上就会有差异,但是又不想写多套布局,Fragment便诞生了。比如在手机上,先展示列表内容,点击后,再进入详情,而在平板或者电视上,因为屏幕足够大,那么就要充分利用屏幕,可以左侧展示列表,右侧实时的展示详情。比如Activity上面提到的列表和详情,手机和平板上的详情直接加载一个Fr原创 2016-08-03 15:11:13 · 601 阅读 · 0 评论 -
Android动画效果的强悍框架,总有你想要的,赶快围观
上传资源稍后上传。留邮箱给你发原创 2016-04-29 13:40:02 · 1611 阅读 · 7 评论 -
面试中,关于项目怎么做的回答
各位同学在面试UI设计的时候经常会遇到的这类问题,你觉得这款APP做的如何?你能说说你最近常玩的APP吗,那些地方吸引你?等等诸如此类的,如果你平时本身积累的就很少,如果突然遇到这类问题,除了一些比较抽象的形容词,其他的不太能回答的出来。这在面试官的心中会给你大大减分,让人感觉到你不是很专业,平时不关注这个行业的产品。相反如果你能对答如流,很有逻辑很有思路并且以实际例子为基础阐述出来,那无疑使你在转载 2016-08-23 13:10:33 · 5330 阅读 · 1 评论 -
Android中统计分析的SDK ,友盟统计,百度统计,腾讯统计
APP统计分析用户画像对程序员来说,用户画像就是用户的属性和行为;通俗地说,用户画像是包括了个人信息、兴趣爱好、日常行为等血肉丰满的客户实体。用户画像是精准营销的产物,企业通过收集用户的行为,然后分析出用户的特征与偏好,进而挖掘潜在的商业价值,实现企业效益的最大化。用户画像的一个具体应用是电商app的“猜你喜欢”栏目,电商平台通过对用户购买过的商品进行统计,可以分析用户日常生活原创 2016-08-11 10:15:52 · 11866 阅读 · 1 评论 -
apk反编译工具的使用,超实用
在学习Android开发的过程你,你往往会去借鉴别人的应用是怎么开发的,那些漂亮的动画和精致的布局可能会让你爱不释手,作为一个开发者,你可能会很想知道这些效果界面是怎么去实现的,这时,你便可以对改应用的APK进行反编译查看。下面是我参考了一些文章后简单的教程详解。(注:反编译不是让各位开发者去对一个应用破解搞重装什么的,主要目的是为了促进开发者学习,借鉴好的代码,提升自我开发水平。)转载 2016-08-22 11:28:27 · 502 阅读 · 0 评论 -
android 屏幕适配的总结,适合面试
1.支持各种屏幕尺寸: 使用wrap_content, match_parent, weight.要确保布局的灵活性并适应各种尺寸的屏幕,应使用 “wrap_content” 和 “match_parent” 控制某些视图组件的宽度和高度。2.使用相对布局,禁用绝对布局在开发中,我们大部分时候使用的都是线性布局、相对布局和帧布局,绝对布局由于适配性极差,所以极少使用。3.使用尺寸限定符。通原创 2016-08-09 13:28:06 · 9621 阅读 · 4 评论 -
Android 别人那里学习到的回调机制
回调在现实生活中最简单的例子就是:假设你公司的总经理出差前需要你帮他办一件事情,这件事情你需要花些时间去做,这时候总经理肯定不能守着你做完再出差把,于是就告诉你他的手机号码叫你但如果事情办完了,你就打电话告诉他一声。这是一个现实生活中的例子。在Android程序和Java程序中也会经常使用到这种回调机制,下边给大家说一下详细的代码://Manager 经理类public class原创 2016-07-25 10:17:01 · 511 阅读 · 0 评论 -
Activity启动另一个Activity,带结果的返回
启动其他Activity的一种常用方式就是StartActivity(),但有时候我们期望获取指定Activity返回的结果。这时,就需要使用startActivityForResult()方法,为了获取被启动的 Activity所返回的结果,当前Activity需要重写onActivityResult(int requestCode,int resultCode,Intent intent),其原创 2016-06-29 17:46:41 · 3804 阅读 · 0 评论 -
2016APP界面视觉设计尺寸
转载 2017-11-06 16:24:08 · 764 阅读 · 0 评论