赞
踩
可以参考如下教程安装Android Studio和sdk
注意:最好在官网下载,不要在下面博客中发的链接(非官网)下载Android Studio
Android Studio的安装,史上最详细(超多图)!!_iterhuiの博客-CSDN博客_android studio
当你创建一个空项目,能正常显示说明安装成功,第一次打开项目通常会遇到gradle的各种问题,解决方法具体见android studio的安装(补充篇gradle失败的问题更新于 2021-03-10)_iterhuiの博客-CSDN博客_android studio安装失败
在github上下载MiCode/Notes: 小米便签社区开源版
然后解压
打开Android Studio,选择import Project(Gradle,Eclipse ADT)的方式导入项目,导入项目后耐心等待
首先判断版本是否为自己需要的(个人用的是7.0.2)
打开build.gradle(:app)文件
添加两行google()
,修改中间classpath参数里面的版本号
其次打开gradle-wrapper.properties文件(位于Gradle Scripts文件夹下)将distributionPath改为你想要的版本,注意:如果是gradle-x.x.x-all.zip,应改为bin.zip,然后点击try Again
如果出现如下所示画面则显示build成功,接着点击正上方的绿色锤子按钮make Project,若没成功则是gridle版本的问题(打开C盘→用户→用户名→.gradle文件夹→wrapper文件夹→dist文件夹→找到相应版本的bin文件夹,可以删除其他没用的文件夹,如果显示正在使用则打开任务浏览器结束java对应的进程即可→进入乱码文件夹→只要里面存在对应版本的bin的压缩包则说明正常)
接下来我们解决make project过程中出现的问题
报错原因及解决方法:HTTP client
在sdk23就已经被分离了,应该使用HttpURLConnection
来代替,或者将下面的代码加入到你的build.gradle(:app)文件中
android{
useLibrary 'org.apache.http.legacy'
}
点击Sync Now(第一次修改)或者try again(多次修改),然后会出现下面的界面
原因:之前我们将下载源改为了谷歌(之前添加的google()),但是api的版本不同步,故需要修改使之同步
将下图中两处分别改为30和29,然后点击Sync Now
原因:在低于API Level 11版本,也就是Android 2.3.3以下的系统中,setLatestEventInfo()函数是唯一的实现方法;而在高于API Level 11的版本中setLatestEventInfo()函数已经被弃用了,于是我们需要根据现有的Android版本进行相应地重写该函数
我们首先看一下setLatestEventInfo()的接口所代表的含义是什么
notification.setLatestEventInfo(context, title, message, pendingIntent);
//第一个参数表示作用的Context对象,第二个参数表示通知的标题,第三个参数表示消息内容,第四个参数表示点击通知后跳转的页面
通过调研发现对于Android的不同版本与之对应的实现
低于API Level 11版本,也就是Android 2.3.3以下的系统中,setLatestEventInfo()函数是唯一的实现方法。
Intent intent = new Intent(this,MainActivity);
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_ONE_SHOT);
notification.setLatestEventInfo(context, title, message, pendingIntent);
manager.notify(id, notification);
高于API Level 11,低于API Level 16 (Android 4.1.2)版本的系统中,可使用Notification.Builder来构造函数。但要使用getNotification()来使notification实现。此时,前面版本在notification中设置的Flags,icon等属性都已经无效,要在builder里面设置。
Notification.Builder builder = new Notification.Builder(context)
.setAutoCancel(true)
.setContentTitle("title")
.setContentText("describe")
.setContentIntent(pendingIntent)
.setSmallIcon(R.drawable.ic_launcher)
.setWhen(System.currentTimeMillis())
.setOngoing(true);
notification=builder.getNotification();
高于API Level 16的版本,就可以用Builder和build()函数来配套的方便使用notification了。
Notification notification = new Notification.Builder(context)
.setAutoCancel(true)
.setContentTitle("title")
.setContentText("describe")
.setContentIntent(pendingIntent)
.setSmallIcon(R.drawable.ic_launcher)
.setWhen(System.currentTimeMillis())
.build();
在本实践中由于我的Android版本介于11到16之间(可以试一下以上两种方法就知道自己的Android版本了,一种报关于Android版本的错误如无法解析build()之类的,就知道Android版本了),故采用第二种方案
以下是我自己重写的整个showNotification方法
private void showNotification(int tickerId, String content) { PendingIntent pendingIntent; if (tickerId != R.string.ticker_success) { pendingIntent = PendingIntent.getActivity(mContext, 0, new Intent(mContext, NotesPreferenceActivity.class), 0); } else { pendingIntent = PendingIntent.getActivity(mContext, 0, new Intent(mContext, NotesListActivity.class), 0); } Notification.Builder builder = new Notification.Builder(mContext) .setAutoCancel(true) .setContentTitle(mContext.getString(R.string.app_name)) .setContentText(content) .setContentIntent(pendingIntent) .setWhen(System.currentTimeMillis()) .setOngoing(true); Notification notification=builder.getNotification(); mNotifiManager.notify(GTASK_SYNC_NOTIFICATION_ID, notification); }
打开app文件夹下的manifests文件夹的AndroidManifest.xml文件,发现该文件有如下错误
点击编辑区的错误代码的红色灯泡按钮,按照如下提示修改(set scheme=”http“)
修改后发现还是报错,于是将鼠标移动到报错代码的第一行,继续点击红色灯泡,按照提示修改(Suppress:Add tools…)
如果出现这种错误,大概率是版本不同的情况下权限设置方法不同的问题,可以看看之前解决Google Play requires that apps target API level 29 or higher那一步中的Android的版本,如果将两个都改为31(根据系统提示),则会报上述错误,若改为30和29,则正常
如果报此类错误,则大概率是内存不够的缘故,,打开人物管理器关闭一些不用的软件或占用内存较大的软件,重新打开一次android studio,重新试一下即可
点击图中的绿色的锤子(build),如果显示build successful,则表示成功构建项目
接下来选择虚拟设备,开始运行项目
点击AVD Manger
点击create virtual device
选择pixei 2(较为美观)
选择R,点击next
取个名字,点击finish
退出设置页面,选择刚刚创建的虚拟设备,点击运行
过程较慢,耐心等待,如果出现以下效果则说明成功
如果意外终止,则说明有可能是内存不够,重启下电脑再次运行就好了。
自己研究吧
参考博客:
Androidn Notification的使用,解决找不到setLatestEventInfo方法 - 风雪江山 - 博客园 (cnblogs.com)
android - Cannot Resolve Symbol HttpEntity,HttpResponse - Stack Overflow
android studio的安装(补充篇gradle失败的问题更新于 2021-03-10)_iterhuiの博客-CSDN博客_android studio安装失败
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。