在对小米便签开源代码进行研究和维护及新功能开发的同时,会遇到很多问题,将以本文进行记录总结。
导入项目
若不导入直接Open会导致默认为Project,不为Android。

小米标签菜单栏不显示的问题
先来看NotesListActivity类,这个类创建菜单栏。

可以发现它继承了Activty类,必须要有 public boolean onCreateOptionsMenu(Menu menu) 这一个函数,但是通过在文件中的搜索,我们发现他并不存在这个方法,这说明,他的菜单栏其实是一开始想靠系统自动生成的。
但是,靠系统自动生成,这不是Activity类有的功能,而是AppCompatActivity这个类的功能,要把它继承的类改一下:

还需要改AndroidManifest.xml文件里的主题,用的类不一样了,主题自然也不一样。

做完上述后可能报错AppCompatActivity找不到,这是我们没把这个类的资源放在gradle里,所以需要在下面的地方引入资源。

问题1:Could not find com.android.tools.build:gradle:7.3.1.
打开build.gradle(:app)文件在添加两行google(),之所以添加google()是因为jcenter()已经在Android上被废弃了。
google()指的是Google自家的仓库,比如我们使用的很多第一方库,如RecyclerView, Jetpack Components等等就是从这里拉取的。
jcenter()指的就是由JFrog提供的JCenter仓库,几乎Android上所有的第三方开源项目都会选择将库发布到这里,比如你在项目中集成的OkHttp、Retrofit、RxJava等等第三方库都是从这里拉取的。

先在build.gradle(:app)文件中修改classpath参数里面的版本号,再打开gradle-wrapper.properties文件(位于Gradle Scripts文件夹下)将distributionPath改为你想要的版本,注意:如果是gradle-x.x.x-all.zip,应改为bin.zip。

然后点击try Again,出现下面画面则成功。然后make project(右上角绿色的锤子)。

问题2:Android Gradle plugin requires Java 11 to run.You are currently using Java 1.8 :1
Android的JDK版本不适配,要用JDK11,按照图片进行设置就行

问题3:Cannot Resolve Symbol HttpEntity,HttpResponse

小米便签依赖于一个httpcomponents-client组件,以执行网络服务(虽然目前没找到要联网的功能,只找到了调用http库的一些功能函数)。具体下载地址如下:https://mirrors.tuna.tsinghua.edu.cn/apache//httpcomponents/httpclient/binary
我下载的版本为4.5.13,注意版本的对应,并将该依赖在build.gradle(:app)文件中配置。

问题4:Cannot resolve method ‘setLatestEventlnfo’ in ‘Notification’

在低于API Level 11版本,也就是Android 2.3.3以下的系统中,setLatestEventInfo()函数是唯一的实现方法;而在高于API Level 11的版本中setLatestEventInfo()函数已经被弃用了,于是我们需要根据现有的Android版本进行相应地重写该函数,直接将整个函数替换下面的内容,可解决问题。
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);
}
问题5:3 files found with path ‘META-INF/DEPENDENCIES’.
这是在安装依赖的时候路径有问题,导致项目无法找到依赖包,解决方法其一可以直接添加绝对路径,但是这会导致当上线打包部署的时候出现错误。

或者直接不导入依赖,直接在build.gradle(:app)文件中加入该语句,并sync now,可能需要多次点击。

基本成功
到此,make project运行成功,没有问题了。

虚拟设备:
选择pixei 2(较为美观)

退出设置页面,选择刚刚创建的虚拟设备,点击运行

出现下面界面则成功。

Original: https://blog.csdn.net/m0_51344172/article/details/128417006
Author: 许君。
Title: 小米便签维护过程记录——可能出现问题解决方案
相关阅读
Title</title
Title: django项目流程
1.文件迁移
1.迁移文件:python.manage.py makemigrations
2.执行迁移:python manage.py migrate
2.超级用户
1.创建命令 python manage.py createsuperuser
2.问题解决:执行第一条pip install createsuperuser,在执行第二条命令
python -m pip install –upgrade pip
3.在子应用的admin.py中添加数据
// from django.contrib import admin
from myapp.models import Game
admin.site.register(Game)
3.创建django项目
打开指定文件夹,在路径位置输入cmd打开
创建django项目: django-admin startproject 项目名
创建子应用: python manage.py startapp 子应用名
4.安装数据库
在与项目同名的文件夹下有一个init.py文件,添加代码
import python
pymysql.install_as_MySQL()
5.配置路由
// from django.contrib import admin
from django.urls import path
from myapp import views
urlpatterns = [
path('admin/', admin.site.urls),
path('myview/', views.MyView),
]
6.GET请求
//
def MyView(request):
page = request.GET.get('page')
id = request.GET.get('id')
return HttpResponse(f"这是第一个视图,当前页数为{page},当前id为{id}")
7.post请求
// <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h3>表单页面</h3>
<form method="post" action="/myview2/">
{% csrf_token %}
账号: <input type="text" name="user">
密码: <input type="password" name="pwd">
<input type="submit" value="提交">
</form>
</body>
</html>
// def MyView2(request):
user = request.POST.get('user')
pwd = request.POST.get('pwd')
return HttpResponse(f"这是第二个视图,账号:{user},密码:{pwd}")
Original: https://blog.csdn.net/g2339338663/article/details/124448850
Author: g2339338663
Title: django项目流程
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/367055/
转载文章受原作者版权保护。转载请注明原作者出处!