android 从入门到放弃
文章平均质量分 57
qypccc
这个作者很懒,什么都没留下…
展开
-
Gradle error:cannot invoke method buildToolVersion on null object
如果你在Android Studio中遇见这种情况,打开你的build.gradle文件,如果是这样或者是这样解决方案:Move yourbuildToolsVersionstatement to the next line。targetSdkVersion按本或者buildToolsVersion写在如下这样:,不要写成一排就行了。原创 2017-05-19 20:26:05 · 4519 阅读 · 1 评论 -
RecylerView:no adapter attached;skipping layout
最近的项目中遇见这个Bug,网上论坛各种方法都有,各种原因都有,综合一下,一般只要布局被正确初始化,给recylerview设置过adapter,如果还是有问题的话,估计是adapter没有拿到数据。我的原因就是因为,接口获取数据失败,adapter拿不到数据。原创 2017-06-15 17:23:01 · 363 阅读 · 0 评论 -
如何优雅的使用Retrofit、Rxjava、Butterknife、Material开发一款MVP模式的新闻+天气预报+妹子的Android app
MVP:一款结合Retrofit+Rx+ButterKnife+Glide+Material的综合阅读类app项目地址:https://github.com/qypcyj/MVP项目介绍:这个app使用了现在较为流行的网络请求框架(Retrofit),注解绑定框架(ButterKnife),异步编程框架(Rxjava),图片加载框架(Glide),并且采用了MVP模式的设计模式。功能主原创 2017-06-24 19:45:09 · 418 阅读 · 0 评论 -
ButterKinfe.bind(this) @BindView时出现NullPointerException
ButterKnife版本 8.4.0,@BindView会出现空指针异常,然后我把@BindView换成了findViewById还是报错网上逛论坛发现,ButterKnife 8.0.1的很多使用者都会出现这种错误,究竟为什么会出现这种错误呢?原因貌似是我们只是简单的在build,gradle添加了声明compile 'com.jakewharton:butterkni原创 2017-06-12 14:35:26 · 2006 阅读 · 0 评论 -
RecylerView实现下拉到底加载更多数据
写代码之前,先得思考一下,我是这样想的,监听item的位置,如果是滑动到最后一项,触发加载更多的事件,所以难点是如何监听到滑动到最后一项item?强大的RecylerView已经为我们提供了类似的方法:通过RecylerView的布局管理器mRecylerViewLayoutManager.findLastVisibleItemPosition()就可以得到最后一项的position具体请原创 2017-06-22 22:40:58 · 350 阅读 · 0 评论 -
一款轻量级android备忘录,支持闹钟提醒
一款轻量级的Android备忘录,简洁实用,适合Android入门新手当做学习的材料项目地址:点击打开链接喜欢的可以多多star,多多益善 项目结构:代码量相对来说不是很大,建议新手可以拿来练手原创 2017-07-01 11:54:30 · 7187 阅读 · 5 评论 -
Android Gradle Build Error:Some file crunching failed, see logs for details解决办法
Log: FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':app:mergeDebugResources'. > Error: java.lang.RuntimeException: Crunching Cruncher ic_defaul原创 2017-07-01 11:30:40 · 301 阅读 · 0 评论 -
Android singleInstance导致的问题及解析
关于四种启动模式的分析可以参考下这我之前写的 “Android Activity4种启动模式的详解”。singleInstance(全局单例模式)该模式具备singleTask模式的所有特性外,与它的区别就是,这种模式下的Activity会单独占用一个Task栈,具有全局唯一性,即整个系统中就这么一个实例,由于栈内复用的特性,后续的请求均不会创建新的Activity实例,除非这个特殊的原创 2017-06-06 21:42:04 · 7866 阅读 · 1 评论 -
Android Activity 4种启动模式的详解
众所周知,在android系统中是通过任务栈来管理我们的Activity的。Task是抽象的概念,指带了一组Activity,它们为实现用户的某个操作目的而聚在了一起,可以来自不同应用。Android系统下,当用户为了完成某一个功能可能需要进行多个Actvitiy间的跳转才能达到目的,这些Activity的跳转序列就被Android抽象成了一个Task。而这一组Actvitiy实例都被放到了同原创 2017-06-06 20:31:15 · 378 阅读 · 0 评论 -
WebView更改错误显示页面之WebChromeClient
最近项目中UI提了一个小要求自定义WebView的错误显示页面,于是上网查资料后发现要在WebViewClient的onReceivedError()的方法里面进行修改like thismWebView.setWebViewClient(new WebViewClient(){ @SuppressWarnings("deprecation") @Override原创 2017-05-20 20:27:32 · 751 阅读 · 0 评论 -
PullRefreshLayout+WebView实现下拉刷新
PullRefreshLayout:跟SwipeRefreshLayout功能差不多的一款下拉刷新控件。项目地址:https://github.com/baoyongzhang/android-PullRefreshLayout使用的方法跟SwipeRefreshLayout类似。首先在xml文件中定义,包裹需要下拉刷新的view,listview、RecylerView、原创 2017-05-19 20:40:22 · 1152 阅读 · 0 评论 -
Android AndroidManifest详解
每个Android应用都需要一个名为AndroidManifest.xml的程序清单文件,这个清单文件名是固定的并且放在每个Android应用的根目录下。它定义了该应用对于Android系统来说一些非常重要的信息。Android系统需要这些信息才能正常运行该应用。Android程序清单文件主要具有下面作用: · 它给应用程序Java包命名,这个包名作为应用程序唯一标识符。转载 2016-11-07 21:35:03 · 562 阅读 · 0 评论 -
项目中遇见的微信分享失败bug
由于现在的项目是之前一位负责人留下的,之前集成的微信分享,都可以用,然后到我手里用不了了。纠结了一下午,发现之前去微信开发者平台上注册应用的时候填写的应用签名是上一位负责人编译的版本,到了我电脑上编译过后自然无法使用。解决方法:在android studio下Build->Generate Signed APK对应用进行打包签名,怎样获取我生成的apk的签名呢?下载微信提供原创 2017-05-19 20:17:24 · 614 阅读 · 0 评论 -
如何反编译Android APK?这可能是最有效的方法
初识:我们都知道APK是Android应用的后缀,即AndroidPackage,我们通过Android Sdk将我们的工程编译成一个可在手机上执行的安装包,其实就是一个压缩文件(.zip),通过unzip可以解压。而每个Android应用在手机上的执行其实是通过分配一个Dalvik虚拟机来执行的,Dalvik虚拟机的可执行文件是.dex文件,那么这个.dex文件怎么生成的呢?首先原创 2017-07-21 09:33:02 · 374 阅读 · 0 评论