小米便签维护过程记录——可能出现问题解决方案

在对小米便签开源代码进行研究和维护及新功能开发的同时,会遇到很多问题,将以本文进行记录总结。

导入项目

若不导入直接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/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 【ROS】OpenCV+ROS 实现人脸识别(Ubantu16.04)

    目录 前言 一、环境配置 1.安装ROS 2.摄像头调用 3.导入OpenCV 二、创建工作空间和功能包 1.创建工作空间 2.创建功能包 三、人脸识别检测相关代码 1.pytho…

    Python 2022年8月19日
    0152
  • DataFrame(11):数据转换——map()函数的使用

    1、map()函数 1)map()函数作用 为序列中的每个元素输入一个函数,然后返回每个映射值以合并以获得迭代器。 [En] Enter a function for each e…

    Python 2023年1月10日
    028
  • Python 抓取数据并可视化

    Python 抓取数据并数据可视化 前言 一、数据抓取篇 * 1.简单的构建反爬措施 2.解析数据 3.完整代码 二、数据可视化篇 * 1.数据可视化库选用 2.案例实战 &#82…

    Python 2022年12月23日
    043
  • python 基于aiohttp的异步爬虫实战

    钢铁知识库,一个学习python爬虫、数据分析的知识库。人生苦短,快用python。 之前我们使用requests库爬取某个站点的时候,每发出一个请求,程序必须等待网站返回响应才能…

    Python 2022年11月2日
    0148
  • Numpy基础教程【思维导图】

    抵扣说明: 1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。 Original: https:…

    Python 2023年1月11日
    031
  • 利用Numpy读取和操作文件的详解

    操作文件 loadtxt loadtxt读取txt文本、、csv文件 loadtxt (fname,dtype 参数 . fname:指定文件名称或字符串。支持压缩文件,包括gz、…

    Python 2023年1月10日
    030
  • HW1-井字棋

    ESC架构 首先介绍ESC架构:ESC架构,即实体-组件-系统架构,遵循的原则是组合优于继承。在unity中,update函数在每一帧都会重新遍历,如果我们将所有组件模块都放在up…

    Python 2023年1月23日
    022
  • 使用Python+Opencv+Flask将windows端的摄像头变为网络摄像头的方法

    为了给半夜实验室的老鼠拍照,想给台式机按一个usb摄像头,并实现对该摄像头的实时远程访问,即将台式机(windows 10)的usb摄像头变成一个网络摄像头。 使用已有的软件 本以…

    Python 2023年1月6日
    0127
  • 数字图像处理之直方图均衡化(python)

    把原图像的直方图转换为均匀分布的形式,增加像素灰度值的动态范围,增强图像整体对比度。 1.2算法步骤: (1)列出原始图像的灰度级 k, k=0,1,2,…, L-1 …

    Python 2022年12月25日
    068
  • Python(九)使用pylot做高并发测试

    前言 本章主要讲述运用pylot对接口进行高并发压力测试,比Jmeter做起来更快 前置环境 python 2.5 pylot 1.26 numpy 2.5 Matplotlib …

    Python 2023年1月15日
    024
  • 【PyTorch】torch.manual_seed() 详解

    使用原因 : 在需要生成随机数据的实验中,每次实验都需要生成数据。设置随机种子是为了确保每次生成固定的随机数,这就使得每次实验结果显示一致了,有利于实验的比较和改进。使得每次运行该…

    Python 2022年12月23日
    053
  • Mac 装DockerDesktop 部署flask的操作步骤

    ​ 一、下载docker 在Docker官网.中找到对应的mac下载。​点进来后,选择自己电脑对应芯片的版本开始下载,我自己是m1芯片的。 ; 二、在MAC电脑上安装和运行dock…

    Python 2023年1月2日
    034
  • Python之禅 — 致初学者

    🤵‍♂️ 个人主页: @计算机魔术师​ 👨‍💻 作者简介:CSDN内容合伙人,全栈领域优质创作者。 🌐 推荐一款找工作神器网站: ​​​宝藏网站​​ |笔试题库|面试经验|实习招聘…

    2022年9月3日
    0143
  • 《HelloGitHub》第 79 期

    兴趣是最好的老师, HelloGitHub 让你对编程感兴趣! 简介 HelloGitHub 分享 GitHub 上有趣、入门级的开源项目。 https://github.com/…

    Python 2023年1月30日
    039
  • 第二章 Flask的视图和URL

    第二章 Flask的视图和URL 1、Flask介绍 Flask诞生于2010年,是Armin ronacher(人名)用 Python 语言基于 Werkzeug 工具箱编写的轻…

    Python 2023年1月2日
    021
  • 游戏项目异常修复和优化

    SPRITE精灵:在项目中会出现很多相关的东西,将这些相关的东西进行编组,可以实现同时操作这些类似的所有元素,pygame利用精灵SPRITE实现相关元素的编组 在某个类使用精灵时…

    Python 2023年1月21日
    022
最近整理资源【免费获取】:   👉 程序员最新必读书单  | 👏 互联网各方向面试题下载 | ✌️计算机核心资源汇总