android 方法笔记

66、网络关键节点定位方法与安卓电子笔记软件设计 本文探讨了网络关键节点定位方法与安卓电子笔记软件的设计与优化。在网络定位方面,提出基于位置权重矩阵的算法,结合坐标融合、跳数计算和误差降噪技术,提升关键节点定位精度,并通过实验验证其优于传统方法。在软件设计方面,介绍了一款名为'A-Note'的安卓电子笔记应用,采用简洁架构与Material Design设计语言,支持普通与手写笔记管理,并展望了未来在功能拓展、云服务、智能提醒及性能优化等方面的发展方向。 阅读详情


(1)super.onCreate(savedInstanceState)是调用父类的onCreate构造函数

savedInstanceState是保存当前Activity的状态信息

  在实际应用中,当一个Activity结束前,如果需要保存状态,就在onsaveInsanceState中,将状态数据以key-value的形式放入到saveInsanceState中。这样,当一个Activity被创建时,就能从onCreate的参数saveInsanceState中获得状态数据。

其中super就是调用父类的属性或者方法,反之this就是调用本类中的属性和方法

(2)AppManager 用于管理activity和退出机制

调用如下所示:在自己封装的Baseactivity里面进行操作:
  1. @Override

  2. protected void onCreate(Bundle savedInstanceState) {
  3. super.onCreate(savedInstanceState);
  4. // 添加Activity到堆栈
  5. AppManager.getAppManager().addActivity( this);
  6. }
  7. @Override
  8. protected void onDestroy() {
  9. super.onDestroy();
  10. // 结束Activity&从堆栈中移除
  11. AppManager.getAppManager().finishActivity( this);
  12. }

(3)Activity生命周期

protected void onCreate(Bundle savedInstanceState)
protected void onStart()
protected void onResume()
protected void onPause()
protected void onStop()
protected void onRestart()
protected void onDestroy()

简要说明

onCreate(Bundle savedInstanceState):创建activity时调用。设置在该方法中,还以Bundle中可以提出用于创建该 Activity 所需的信息。
onStart():activity变为在屏幕上对用户可见时,即获得焦点时,会调用。
onResume():activity开始与用户交互时调用(无论是启动还是重新启动一个活动,该方法总是被调用的)。
onPause():activity被暂停或收回cpu和其他资源时调用,该方法用于保存活动状态的。。
onStop():activity被停止并转为不可见阶段及后续的生命周期事件时,即失去焦点时调用。
onRestart():重新启动activity时调用。该活动仍在栈中,而不是启动新的活动。
onDestroy():activity被完全从系统内存中移除时调用,该方法被调用可能是因为有人直接调用 finish()方法 或者系统决定停止该活动以释放资源。

(4)setContentView

setContentView(R.layout.main)在Android里面,这句话是什么意思?
R.layout.main是个布局文件即控件都是如何摆放如何显示的,setContentView就是设置一个Activity的显示界面,这句话就是设置这个这句话所再的Activity采用R.layout下的main布局文件进行布局
使用setContentView可以在Activity中动态切换显示的View,这样,不需要多个Activity就可以显示不同的界面,因此不再需要在Activity间传送数据,变量可以直接引用。

(5)Android解决有时按HOME键再回来会重启问题

解决方法:

if ((getIntent().getFlags() & Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT) != 0) {
    finish();
    return;
(6)Android的onCreateOptionsMenu()创建菜单Menu

Android一共有三种形式的菜单:
            1.选项菜单(optinosMenu)
            2.上下文菜单(ContextMenu)
            3.子菜单(subMenu)

其中最常用的就是选项菜单(optionsMenu), 该菜单在点击 menu 按键 后会在对应的Activity底部显示出来。

1.Activity菜单机制 (与dialog类似)
Activity有一套机制来实现对菜单的管理,方法如下:
   1.public boolean onCreateOptionsMenu(Menu menu)
             此方法用于初始化菜单,其中menu参数就是即将要显示的Menu实例。
              返回true则显示该menu,false 则不显示;
              
(只会在第一次初始化菜单时调用)

           2.public boolean 
onPrepareOptionsMenu(Menu menu)
             在
onCreateOptionsMenu执行后,菜单被显示前调用;如果菜单已经被创建,则在菜单显示前被调用。
              同样的, 返回true则显示该menu,false 则不显示;
             
(可以通过此方法动态的改变菜单的状态,比如加载不同的菜单等)

           3.public void onOptionsMenuClosed(Menu menu)
              每次菜单被关闭时调用.
              (
菜单被关闭有三种情形,menu按钮被再次点击、back按钮被点击或者用户选择了某一个菜单项)
              
            4.public boolean onOptionsItemSelected(MenuItem item)
               菜单项被点击时调用,也就是菜单项的监听方法。
              
          通过这几个方法,可以得知,对于Activity,同一时间只能显示和监听一个Menu 对象。


  2. 添加菜单:

      可以在onCreateOptionsMenu或者onPrepareOptionsMenu方法中来添加菜单

      2.1代码添加:
        menu.add((int groupId, int itemId, int order, charsequence title) .setIcon(drawable ID)

       add()方法的四个参数,依次是: 

      1、组别,如果不分组的话就写Menu.NONE, 

      2、Id,这个很重要,Android根据这个Id来确定不同的菜单 

      3、顺序,哪个菜单项在前面由这个参数的大小决定 

      4、文本,菜单项的显示文本

       add()方法返回的是MenuItem对象,调用其setIcon()方法,为相应MenuItem设置Icon

     示例:
    public boolean onCreateOptionsMenu(Menu menu) {
        super.onCreateOptionsMenu(menu);
        menu.add(Menu.NONE,  Menu.First+1 , 0, "设置").setIcon(R.drawable.setting);
        return true;
    }
      
      2.2布局文件添加:
         
       getMenuInflater().inflate(R.menu.options_menu, menu);

      调用Activity的getMenuInflater()得到一个MenuInflater, 
       使用inflate方法来把布局文件中的定义的菜单 加载给 第二个参数所对应的menu对象

       示例:
     @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        super.onCreateOptionsMenu(menu);
        getMenuInflater().inflate( R.menu.options_menu , menu);
        return true;
    }

    布局文件:
      在res目录下建立一个menu文件夹,并创建布局文件: options_menu.xml 
    <?xml version="1.0" encoding="utf-8"?>
    <menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id=" @+id/menu_setting " android:title="设置" android:icon="@drawable/setting"></item>
    </menu>


   3.菜单项监听:
    只要菜单中的菜单项被点击,都会触发onOptionsItemSelected(MenuItem item)
    item参数即为被点击的菜单项,那么需要在此方法内判断哪个Item被点击了,从而实现不同的操作。
    对于两种不同的添加菜单方法,判断的方法有一点区别,但本质是一样的。

    3.1代码添加菜单的判断方法
     @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        super.onOptionsItemSelected(item);
        switch(item.getItemId()) //得到被点击的item的itemId
        {
        case  Menu.First+1 :  //对应的ID就是在add方法中所设定的Id
            break;
        case  Menu.First+2 :
            break;
        }
        return true;
    }

  3.2布局文件添加菜单的判断方法:
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        super.onOptionsItemSelected(item);
        switch(item.getItemId()) //得到被点击的item的itemId
        {
        case  R.id.menu_setting : //这里的Id就是布局文件中定义的Id,在用R.id.XXX的方法获取出来
            break;
        case R.id.menu_info:
            break;
        }
        return true;
    }
(7)android menu的onOptionsItemSelected怎么和menu关联起来?

看你是那种方式创建的menu,如果是xml形式的话。在onOptionsItemSelected里面 switch{ case(R.id.XXX)}就可以对应你的各个menu的点击事件。如果是代码创建,那就是你创建时的id。
例如 menu.add(0, 1, 1, "XXX"); 这是 一样在onOptionsItemSelected里面switch{
case 1: //TODO(这是就是这个菜单项的点击事件了。) }

Activity的父类里面已经封装好了menu方法。你只需要重写父类的onCreateOptionMenu()方法和onOptionsItemSelected()即可。
Cadence OrCAD常见引脚错误排查指南:从原理图到封装的完整解决方案 本文详细解析Cadence OrCAD设计中常见的引脚错误问题,提供从原理图到封装的系统化解决方案。涵盖错误诊断、元件库修复、封装管理及自动化处理技巧,帮助工程师高效解决ORCAP-36022等典型错误,确保设计流程顺畅。 阅读详情

相关推荐

如何获取SAP BTP账户及BAS启用

返回到 Service Marketplace 点击SAP Business Application Studio 然后go to Application。进入子用户的OverView里面找到Entitlements添加SAP Business Application Studio。注意:在选购BTP免费环境的时候,使用人要选公司才可以成功。在完成上述操作后,就可以登陆Cockpit。这里有SAP官方的BTP试用的手顺链接。配置权限※我绑定的是登录时的邮箱。※过程中有问题可以在评论区讨论。

wangshulong2013的博客 723

Android活动中onCreate参数Bundle savedInstanceState的作用

当我们使用Android Stdio的活动自动向导自动生成活动时,在活动中Android Stdio会自动为我们生成这样一段代码。 protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } 这段方法会在活动被系统创建后被调用。而这个活动的参数Bu

little_White12的博客 4142

基于YOLOv8和PaddlepaddleOCR的微信截图聊天记录提取

本文提出了一种基于YOLOv8和PaddleOCR的微信聊天记录提取方法。首先使用YOLOv8n模型分割出聊天气泡(针对深浅色模式分别训练),通过合成数据集增强模型鲁棒性,召回率达0.995。随后采用PP-OCRv5进行文本识别,利用坐标匹配将气泡内文本送入识别队列,短长文本平均置信度分别>0.98和>0.95。文中特别强调了PaddleOCR不同版本的输出格式差异及适配方案,建议使用3.0+版本。该方法有效解决了直接OCR识别易受干扰的问题,通过气泡分割+文本定位的两阶段策略显著提升了识别准确

2401_87383958的博客 2355

protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setOnClickList 今天写了点安卓,运行的时候发现了空引用异常 后面发现了,你方法必须写在 protected void onCreate(Bundle savedInstanc...

qq_43634431的博客 9852

Dify实战:智能邮件工作流配置全解析

本文详细解析了如何利用Dify平台配置智能邮件工作流,实现邮件处理的自动化与智能化。内容涵盖从获取邮箱授权、安装插件、安全配置环境变量,到构建邮件发送工作流、创建调用该工作流的智能体(Agent)的完整步骤,并分享了连接知识库实现智能客服、定时发送日报等进阶自动化场景,旨在帮助用户显著提升邮件处理效率。

t8u9v0w1x的博客 795

Maxwell中铜导体热损计算的关键步骤与技巧

本文详细介绍了在Maxwell软件中准确计算铜导体热损的关键步骤与实用技巧。重点阐述了如何正确设置涡流场求解器、启用涡流效应、根据工作频率计算并应用肌肤深度以指导网格剖分,以及准确施加激励和定义电流回路。文章还强调了使用温度相关材料属性和进行后处理验证的重要性,旨在帮助工程师获得可靠的热损计算结果,优化产品设计。

weixin_29232121的博客 497

状态保存 Bundle savedInstanceState

经常会出现用户按到home键,退出了界面,或者安卓系统意外回收了应用的进程,这种情况下,使用Bundle savedInstanceState就可以用户再次打开应用的时候恢复的原来的状态。 看一段代码: package com.example.test.com;         import android.app.Activity;   impor

chuyouyinghe的专栏 5724

西门子PLC1200与CB1241模块的Modbus RTU从站配置全流程(附串口调试技巧)

本文详细介绍了西门子S7-1200 PLC与CB1241通信模块实现Modbus RTU从站配置的全流程,包括硬件接线规范、TIA Portal工程组态、通信指令编程及串口调试技巧。通过实战案例和常见错误处理方案,帮助工程师快速搭建稳定的工业通信系统,提升自动化设备的互联互通能力。

weixin_29165725的博客 325

Android开发学习【简单控件】

基于B站动脑学院安卓开发教程的个人学习笔记

AsUs.的博客 2000

基于知识图谱的档案智慧问答系统:构建智能化档案管理与知识服务新范式

基于知识图谱的档案智慧问答系统是档案管理领域的一次重要创新,它通过将档案数据转化为结构化的知识图谱,并结合自然语言处理和智能问答技术,实现了档案信息的智能化管理与服务。该系统不仅能够提升档案管理的效率,还能为用户提供更全面、更便捷的知识服务,具有广泛的应用前景和深远的社会意义。未来,随着技术的不断进步和应用场景的不断扩展,基于知识图谱的档案智慧问答系统将在更多领域发挥其价值,为档案管理领域的智能化转型提供强有力的支持。

qq_62634009的博客 1578

我的PCB设计经验总结及最容易犯错的100例之二B07

本文总结了PCB设计中的常见错误及解决方法。作者通过记录自身及他人的设计失误,系统归纳了高频、隐蔽且致命的问题,如电容中间穿线、高速信号跨分割、锐角布线等。重点提出从错误中提炼规律,建立分类案例库,并开发自动化检查工具的方法。案例涵盖高速信号处理、电源设计、EMC防护等关键领域,强调通过原理理解和实践验证提升设计质量。文章建议工程师建立个人错误数据库,从被动纠错升级为主动预防,最终形成系统化的设计方法论,提高PCB一次成功率。

启芯硬件的博客 83

Andorid中Activity

Activity 的生命周期 public class OurActivity extends Activity { protected void onCreate(Bundle savedInstanceState); protected void onStart(); protected void onResume(); protected

wsl002的专栏 798

基于若依的ruoyi-nbcio-plus支持VForm3表单字段数据保存到数据库的一种方法——全网首创(三)

基于若依的ruoyi-nbcio-plus支持VForm3表单字段数据保存到数据库的一种方法——全网首创(三)

宁波阿成的博客 524

Android开发笔记:安卓程序截屏方法

1,基于Android SDK的截屏方法 (1)主要就是利用SDK提供的View.getDrawingCache()方法。网上已经有很多的实例了。首先创建一个android project,然后进行Layout,画一个按键(res/layout/main.xml): <?xmlversion="1.0"encoding="utf-8"?> <Line...

weixin_30906425的博客 235

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

【笔记——Android】下载安卓sdk的方法

利用国内的镜像网点下载, 这是东软的: AndroidAndroid SDK 配置步骤 启动 Android SDK Manager ,打开主界面,依次选择「Tools」、「Options...」,弹出『Android SDK Manager - Settings』窗口; 在『Android SDK Manager - Settings』窗口中,在「HTTP Proxy Serve...

weixin_30588729的博客 111

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

pc android wifi热点,安卓手机做wifi热点让笔记本上网的方法

现在的安卓2.2系统以上的手机都可以将手机的无线上网信号共享出来,然后笔记本电脑或平板电脑在没有网络的情况下,可以通过手机3G网络,畅游无线网络。1、打开手机应用列表2、进入设置,无线与网络 3、点击网络分享和便携式热点4、现在有USB网络分享和移动接入点两个选项,我们先讲一下移动接入点,选择移动接入点5、Mobile AP设置,我们可以在里面设置密码 6、你可以自行设置网络SSID,密码可以使用...

weixin_42520132的博客 371

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

android 热点 连接电脑上网,安卓手机做wifi热点让笔记本上网的方法

现在的安卓2.2系统以上的手机都可以将手机的无线上网信号共享出来,然后笔记本电脑或平板电脑在没有网络的情况下,可以通过手机3G网络,畅游无线网络。1、打开手机应用列表2、进入设置,无线与网络 3、点击网络分享和便携式热点4、现在有USB网络分享和移动接入点两个选项,我们先讲一下移动接入点,选择移动接入点5、Mobile AP设置,我们可以在里面设置密码 6、你可以自行设置网络SSID,密码可以使用...

weixin_35294082的博客 3434

笔记本连接android手机,安卓手机怎么连接电脑?附详细的方法和步骤

无法连接电脑怎么办呢?通过手机对手机数据进行备份操作的,接下来就与大家分享一下,有关通过电脑实现手机数据备份及还原的具体方法,希望对大家能有所帮助。方法/步骤1如果想实现手机与电脑的正常连接,首先就需要正确安装手机驱动程序。对于安卓手机驱动的安装操作,我们可以借助设备管理器界面来实现。如图所示,通过“运行‘窗口中输入如图所示的命令打开计算机管理界面。步骤阅读2待打开如图所示的计算机管理界面后,展开...

weixin_32319177的博客 1661

Android开发学习笔记6--安卓程序调试方法

5.1ADB的使用 1.ADB常用命令 使用ADB安装软件     打开CMD命令提示----ADB install +软件路径.apk 完成安装 使用ADB卸载软件     打开CMD命令提示---ADB uninstall + 软件包名 列出当前连接的设备: ADB devices 进入安卓操作系统命令行模式 ADB shell    离开输入exit 上传文件     

u012784277的专栏 1382

安卓学习笔记---Android中两种设置全屏的方法!!!

一、在代码中设置:  public void onCreate(Bundle savedInstanceState) {           super.onCreate(savedInstanceState);          //无title            requestWindowFeature(Window.FEATURE_NO_TITLE);

紫色飞鱼儿的博客 621

android getinstance 方法,Android学习笔记:关于getInstance

Android学习笔记:关于getInstanceMarch 16, 2012ArticleAndroid的Activity是主要的UI显示框架,相当于Java的JFrame。但是Activity类的初始化并不是我们操作的,只有onCreate重载函数可以初始化Activity。这样一来就不能像Java中那样进行Model实例的传递。getInstance就成为了解决这个问题的方法。我们知道,在J...

weixin_39625172的博客 598

华硕笔记本提示android,华硕主板电脑和华硕笔记本开启VT进BIOS设置方法教程

想要流畅的使用遁地安卓模拟器,开启VT是必须的一步,可以让游戏运行更流畅,玩的更爽。此篇教程主要教大家华硕主板的电脑或者是华硕笔记本开启VT进入BIOS设置方法,详细教程请看下面。一、开启电脑时,不断的按“F2”或“DEL”,开机的时候显示器底下会出现一排英文,有进入BIOS按键的提示,上面写的哪个就按哪个。二、进入BIOS界面,如果英文界面,可以选择界面右上角的下拉框语言为“简体中文”,再点击最...

weixin_34776645的博客 3817

安卓逆向学习笔记(一)

这些都是通过学长给予,以及网络上的资源来做的个人理解、总结,大牛们不要喷。 零基础小萌新在角落瑟瑟发抖的认真记笔记。 安卓逆向学习笔记(一) 写一个安卓程序(附上原帖链接教我兄弟学Android逆向01) 安装所需软件android studio,因为貌似被墙了所以没有用官网下载。 官网下载链接及教程,链接官网下载链接,教程安装及下载教程 网上另找的资源(内附教程)android studi...

qq_43593334的博客 1708

安卓开发笔记——Socket使用方法

何为Socket?我们常将Socket翻译为套接字,Socket是在应用层和传输层之间的一个抽象层,它把TCP/IP层复杂的操作抽象为几个简单的接口供应用层调用已实现进程在网络中通信。 笔者在做物联网智能监控系统APP过程中,需要实现手机客户端向后台服务器端发送Socket,于是写了一个客户端demo,实现三个简单的小功能“连接”、“发送”、“取消连接”: Client: package com...

Mr.X 3683

vue 获取安卓原生方法_VUE H5调用原生APP方法实践笔记

最近做与app端的混合开发,了解到了H5与原生app端之间的方法互通首先是我们给app端定义方法供他们使用(以vue为例)methods中定义一个方法名称VContent() {console.log("给app用的方法")},// 接着我们将这个方法在生命周期中挂载到window即可,没错,就是这么简单mounted(){window.VerifyContent = this.VerifyCon...

weixin_39885683的博客 2101

笔记本 android,震惊:这个秘籍可以让笔记本同时拥有(mac/win/Android)系统

震惊:这个秘籍可以让笔记本同时拥有(mac/win/Android)系统2020-03-17 16:45:4712点赞76收藏21评论序言:这是一篇关于《折腾永无止境》的文章...所以不打算长篇幅介绍怎么安装、步骤、怎么折腾的教科书,不懂?隔壁度娘给你答案!目标非常明确:要榨干笔记本最后一滴性能玩法。主题——【如何用单盘同时安装mac OS/Android/windows系统】可以在一块硬盘里安装...

weixin_33859135的博客 311
上一篇: 文档分类
下一篇: android 方法笔记(二)
kangkyle
博客等级 码龄10年 6粉丝 8原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值