# android笔记 #

DELPHI 安卓开发小手段 本文主要记录一些安卓开发时,使用的小功能,我称之为小手段,算是一个学习笔记吧,而本文中关于一些公共的功能,我仅在第一次需要时编写,后面将不再重复,比如动态权限申请之类的。{$ENDIF}目录前言如何调用手机震动功能申请震动权限建立震动函数调用震动函数如何调整手机音量如何关闭EDIT虚拟键盘动态控件属性修改无边窗体如何拖动。 阅读详情

FrameLayout:所有东西依次都放在左上角,会重叠,这个布局比较简单,也只能放一点比较简单的东西。

LinearLayout:线性布局,每一个LinearLayout里面又可分为垂直布局(Android:orientation=“vertical”)和水平布局(android:orientation=“horizontal” )。当垂直布局时,
每一行就只有一个元素,多个元素依次垂直往下;水平布局时,只有一行,每一个元素依次向右排列。

AbsoluteLayout:绝对布局用X,Y坐标来指定元素的位置,这种布局方式也比较简单,但是在屏幕旋转时,往往会出问题,而且多个元素的时候,计算比较麻烦。

RelativeLayout:相对布局可以理解为某一个元素为参照物,来定位的布局方式。主要属性有:相对于某一个元素android:layout_below、android:layout_toLeftOf,相对

于父元素的地方android:layout_alignParentLeft、android:layout_alignParentRigh。

GridLayout(TableLayout):表格布局,每一个TableLayout里面有表格行TableRow,TableRow里面可以具体定义每一个元素 https://www.it610.com/article/5335982.htm

1.android stdio:出现Expecting member declaration 原因
新建project的时候,language项选错了,应选java
2.Cannot resolve symbol ‘View’ 改为 android.view.View

NEW View.OnClickListener
均匀分配:
android:layout_height=“wrap_content”
android:layout_weight=“1”
网络编程:https://blog.youkuaiyun.com/fightingXia/article/details/71775516
http://m.biancheng.net/view/3153.html
正则表达式:https://www.cnblogs.com/275147378abc/p/4581580.html
https://www.sojson.com/regex/generate
http://c.biancheng.net/view/830.html
http://c.biancheng.net/view/830.html

1.匿名内部类 button2.setOnClickListener(new View.OnClickListener() {}
2.主类中(Activity活动)实现View.OnClickListener接口
3.创建内部类,实现View.OnClickListener接口。
4.在布局文件中为该View设置android:onClick属性指定点击的方法名。此时,将点击事件的事件名交给了视图,告诉它该控件遇到点击时间时候要依据哪个函数。
5.外部类
6.Button.OnClickListener b=new Button.OnClickListener(){}

用网页打开app

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Insert title here</title>
    </head>
    <body>
        <a href="m://my.com/">打开app</a><br/>
    </body>
</html>

intent

<?xml version="1.0" encoding="utf-8"?>

<androidx.constraintlayout.widget.ConstraintLayout xmlns:android=“http://schemas.android.com/apk/res/android”
xmlns:app=“http://schemas.android.com/apk/res-auto”
xmlns:tools=“http://schemas.android.com/tools”
android:layout_width=“match_parent”
android:layout_height=“match_parent”
tools:context=".MainActivity">

<TextView
    android:id="@+id/textview"
    android:layout_width="331dp"
    android:layout_height="357dp"
    android:layout_marginTop="8dp"
    android:layout_marginBottom="16dp"
    android:text="Hello World!"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintHorizontal_bias="0.075"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintRight_toRightOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    app:layout_constraintVertical_bias="0.022"/>

</androidx.constraintlayout.widget.ConstraintLayout>

package com.example.learnintent;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.widget.*;

public class MainActivity extends AppCompatActivity {
private TextView textview;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textview=(TextView)findViewById(R.id.textview);

    textview.setOnTouchListener(new View.OnTouchListener() {
        @Override
        public boolean onTouch(View v, MotionEvent event) {
            int action=event.getAction();
            switch(action){
                case MotionEvent.ACTION_DOWN:
                    //display("",event);
                    textview.setText("点击屏幕");
                    float pressure=event.getPressure();
                    String msg=String.valueOf(pressure);
                    textview.setText(msg);


                                            break;
            }
            return false;
        }
    });
}

}

//例1——打开浏览器
Intent intent = new Intent();
intent.setAction(“android.intent.action.VIEW”);
intent.setData(Uri.parse(“http://www.baidu.com”));
startActivity(intent);

android:icon="@mipmap/ic_launcher" //应用或活动的图标
android:label="@string/app_name" //应用或活动的标题

action=main 主入口
category=LAUNCHER启动 LAUNCHER发射器,项目启动先打开此Activity

Intent intent = new Intent(select.this, skip.class); startActivity(intent);

Uri uri = Uri.parse(“https://www.baidu.com”);Intent intent = new Intent(Intent.ACTION_VIEW, uri);startActivity(intent);

文件存储:
读取:
FileInputStream in=openFileInput(“flag”);
BufferedReader reader=new BufferedReader(new InputStreamReader(in));

        StringBuffer content=new StringBuffer();

String line=""; while((line=reader.readLine())!=null){content.append(line);} String A=content.toString();
reader.close();
写入:
FileOutputStream out;
BufferedWriter writer;
try {
out=openFileOutput(“flag”, Context.MODE_PRIVATE);
writer=new BufferedWriter(new OutputStreamWriter(out));
writer.write(“1”);
writer.close();
共享优先:
写入:
final SharedPreferences sp = getSharedPreferences(“m”, MODE_PRIVATE);
final SharedPreferences.Editor editor = sp.edit();
editor.putString(“pre”,s);
editor.commit();

读取:
final SharedPreferences s = getSharedPreferences(“m”, MODE_PRIVATE);
String str = s.getString(“pre”,“2019/12/31 00:00:00:000”);
default

public class SmsReceiver extends BroadcastReceiver { public void onReceive(Context arg0, Intent arg1) {}}

逆向工程实战:如何用Frida和IDA破解AppleAccount的X-MMe-Nas-Qualify签名机制 本文通过逆向工程实战,详细解析了如何利用Frida动态Hook和IDA静态分析技术,破解AppleAccount服务中关键的X-MMe-Nas-Qualify签名机制。文章从环境搭建、动态追踪NSMutableURLRequest的签名注入点开始,逐步深入到AuthKit框架的静态剖析与算法还原,最终实现独立的签名生成,为安全研究和自动化测试提供了完整的技术路径。 阅读详情

相关推荐

从零开始:ENSP与VirtualBox的兼容性迷宫与突围指南

本文深入解析eNSP与VirtualBox的兼容性问题,特别是报错40的解决方案。从诊断根源、彻底卸载残留到推荐黄金版本组合,提供了一套完整的实战指南,帮助网络工程师和技术学习者快速解决AR_Base等设备的启动故障,优化虚拟化环境性能。

weixin_29284885的博客 476

【Android】解决Expecting member declaration

问题截图 刚刚安装的android studio安装完成就出现异常错误 原因 新建project的时候,language项选错了,应选java 解决错误的办法 新建一个Project的时候,Language项选择Java,然后在类里写上private Button的时候会有提示导包 问题到这里就解决完成了,谢谢观看 ...

宾有为的博客 2万+

常见的电容有哪些

电容在电路板中非常常见,类别纷繁复杂,本文化繁为简,主要介绍下常见电容。

qq_40170041的博客 768

android解决kotlin问题Expecting member declaration

示例代码 android kotlin工程 class MainActivity : AppCompatActivity() { private SerialPort mSerialPort = null; // 这一行会出错 override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activi

zmlovelx(帅得不敢出门 程序员群31843264) 6603

SIMULIA-Simpack 2022x新功能介绍

增加库伦摩擦类型力元95 Coulomb Friction增加了3种新的摩擦方向类型用于模拟平面、圆柱和球面摩擦。针对平移和旋转摩擦改进了滑动到粘着过渡阶段的检测,增加一个参数定义两种不同的滑移-粘滞过渡模式,即“Unloaded stick stiffness”和“Preload stick with last slip”。新增加124'Applied Load’力元允许用户将力或扭矩作为恒定值或通过激励元素施加到To Marker点上。该力元建模操作方便,效率高。支持线性柔性体装配。

crystalzhan的博客 1047

API安全攻防实战:从信息搜集到漏洞利用的完整路径

本文详细解析了API安全攻防实战的全过程,从信息搜集到漏洞利用,涵盖了渗透测试的核心技巧和工具使用。通过真实案例展示如何发现和利用API漏洞,如HTTP方法滥用、内容类型转换攻击等,并提供企业级防御策略和测试心得,帮助安全研究人员提升API安全防护能力。

weixin_30394981的博客 434

idea 使用遇到的错误

qq_41752401的博客 352

82、yolov11检测模型迁移瑞芯微rk3588和使用昇腾设备300i DUO卡推理 batch=1/3,支持昇腾NMS迁移npu推理

本文介绍了使用昇腾设备进行分割推理的测试流程,包括两种测试方式(cann+onnx和om)。首先验证300iDUO卡的可用性,随后创建Docker镜像和容器以搭建独立环境。通过从指定仓库拉取Ubuntu 20.04镜像,创建容器并映射目录。进入容器后安装必要组件(Python3、GCC等)和系统工具(pciutils、net-tools等),为后续模型转换和迁移做准备。整个流程旨在构建可交付给第三方的标准化测试环境。

sxj731533730 1202

kotlin学习笔记(七)

类和继承 类 在 Kotlin 中类用 class 声明: class Invoice{ } 类的声明包含类名,类头(指定类型参数,主构造函数等等),以及类主体,用大括号包裹。类头和类体是可选的;如果没有类体可以省略大括号。 class Empty 构造函数 在 Kotlin 中类可以有一个主构造函数以及多个二级构造函数。主构造函数是类头的一部分:

Qin_xian_shen的博客 567

嵌入式AI实战:基于RK3588部署YOLOv11并集成OpenCV实现实时推理(全流程详解)

本文详细介绍了在RK3588芯片上部署YOLOv11目标检测模型的全流程,包括环境搭建、模型转换和实时推理实现。主要内容为:1)通过YOLOv11官方工具将PyTorch模型转为ONNX格式;2)使用RKNN Toolkit2将ONNX模型转换为适配RK3588的RKNN格式;3)在RK3588上结合OpenCV实现实时视频推理功能。教程提供了完整的代码示例和详细步骤说明,帮助开发者快速在边缘设备上部署目标检测模型,实现AI视觉应用的落地。

LXY_LOVE36的博客 213

【AI大模型应用开发实战】大型语言模型评估指南白皮书(LLM Eval)

近年来,大型语言模型(LLM)在自然语言处理领域取得了重大进展,例如 GPT-3 和 Chat-GPT。这些模型经过大型数据集的训练,在文本相关任务中表现出卓越的能力,甚至超越了人类。本文将简要介绍如何验证 LLMs 性能的评估指标。自然语言处理(NLP)是人工智能的一个领域,涉及计算机和人类语言之间的交互。NLP 的基本任务之一是语言建模 (LM),它涉及构建统计模型来分析和生成自然语言。LM 已成为推进机器语言智能的关键方法,使机器能够执行机器翻译、情感分析和对话系统等任务。

AI天才研究院 1013

如何成为Android高手 #笔记#

大致扫了下国土工作室的如何成为Android高手这个pdf 当然靠这个pdf成为Android高手是不太可能的,但里面的学会懒惰 、精通android体系和设计模式等 、编写可重用和可扩展代码 、编写高效代码 觉得说的还不错。重点需要掌握设计模式和ood设计的几个原则以及日常应用中注意一些高效的写法   pdf中第二页介绍对于开发应用需要遵守的一些原则 1、学会懒惰 2、精通Andro...

微信号codek2 专注于 Android 开源项目源码解析 开源项目分享 176

PNP NPN线性接近开关接线嵌入式:详细指南与示例代码

在嵌入式系统中,PNP和NPN线性接近开关是常用的传感器类型,用于检测物体的接近或离开。在嵌入式系统中,PNP和NPN线制接近开关是常用的传感器类型,用于检测物体的接近或离开。本文提供了有关PNP和NPN线性接近开关接线的详细指南,并提供了一个简单的示例代码,以帮助您在嵌入式系统中正确使用这些传感器PNP NPN 线制接近开关接线 嵌入式:详细指南与示例代码。与PNP开关不同的是,NPN线性接近开关的正极连接至系统的正极电源。与PNP开关不同的是,NPN线制接近开关的正极连接至系统的正极电源。

CyberSphinx的博客 1272

# Android动画笔记

标签: Android开发艺术探索笔记 View动画 帧动画 属性动画 View动画 View动画的作用对象时View,有4种动画效果,分别是平移动画、缩放动画、旋转动画、和透明度动画。 此类动画通常使用` XML `来定义。 动画的定义方式如下: <set android:interpolatoer="@[package:]anim/interpola...

weixin_30550271的博客 92

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

# Android笔记之自启动

注意 需要在手机权限管理中授权开机自启,还需要可以弹出窗口 manifest权限 &lt;uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/&gt; 安装在手机存储 &lt;manifest xmlns:android="http://schemas.android.com/apk/res/andro...

y76603280的博客 168

NTscan扫描工具

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

安卓开发入门笔记#1 初认Activity

一、Activity基本概念 Activity是安卓开发中的重要组件,它为用户提供了基本的屏幕交互空间。简单来说,我们直观看到的应用可操作界面,其基础就是托管的activity。 一个应用通常由多个activity组成,一个activity可以启动另外一个acitvity,新的activity称为子activity,其父activity将会自动停止,并被压入stack,当子activity返回...

weixin_30249203的博客 72

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

#工作笔记 Android歌词视频开发

前言 入职半年承接的第一个重要需求就是做一个可以任意切换背景,生成自带歌词和音乐的视频,用户导出后保存至相册,下面记录开发过程中遇到的几个有意义的问题和创新。 创新1:实时根据解析的得到的该行歌词时间长度使歌词有渐入渐出的效果(不使用Animation 仅用5行Java代码解决) 问题1:遇到Activity onPause()回调后,onStop()回调慢10s,原因及解决办法 问题2:surfaceView不能使用View.GONE和View.VISIBLE 否则会报错,但不会crash的原因 问题3

qq_41994594的博客 3302

Android for Gradle 学习笔记 #1 概念篇

Google 推出了一个基于Gradle的全新的构建系统来构建Android项目。并且发布了官方IDE工具-Android Studio(基于 IntelliJ IDEA 工具研发)。既然Google推荐这个新构建系统,下定决心学习官方文档级视频。后发现在项目管理方面,AndroidStudio比Eclipse方便多了(纯属个人想法, but it worth to try~)。以下是我对这些topic的理解。

Do not let the present limits your dream 609

#xmpp笔记# Android获取openfire离线消息

Android实现openfire获取离线消息的基本思路: 在用户连接登录openfire之前,先连接一次openfire,并且要配置ConnectionConfiguration,一定要设置SendPresence为false,即将在线状态设置为离线,然后才能接收到离线消息,处理完离线消息之后,记得要通知openfire服务器端,删除接收到的离线消息,并且设置再将状态设置为在线 privat

superyu1992的专栏 1665

android单独编译input,Android input上报*、#键值笔记

1.在./kernel-imx/include/linux/input.h增加scan code值#define KEY_USR1 0x2f0#define KEY_USR2 0x2f12.将驱动上报键值改成KEY_USR1、KEY_USR2,如TP上按键键值此处省略3.在编辑键值映射文件,存在device/fsl/sabresd_6dq目录下,文件名与input输入驱动名字相同,可以...

weixin_30629043的博客 324

#阅读笔记 Android群英传-第10章-Android性能优化

学习目标: 了解Android性能优化 学习内容: 10.1 布局优化 10.1.1 Android UI渲染机制 人眼所感知的流畅画面中,需要画面的帧数达到40帧每秒到60帧每秒,最佳fps大概在60fps,这也是评价一个显卡性标准之一。在Android中、系统通过VSYNC信号触发对UI的渲染和重绘,其间隔时间是16ms(其实就是1000ms中显示60帧,所以是1000/60)。所以每次渲染逻辑都能保证在16ms内完成,用户看到的画面是会非常流畅的,若超过16ms则会出现丢帧的卡顿现象。例如一次绘制任

qq_41994594的博客 1899

#阅读笔记 Android Gradle 权威指南及Android工程结构思维导图总结

学习目标: 理解Gradle原理及了解Android工程结构 学习内容: ![在这里插入图片描述](https://img-blog.csdnimg.cn/4444bfa5066a48a1b240f6b247c7597b.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZ3VvZ3Vvb29vb29vb28=,size_20,color_FFFFFF,t_70,g_se,x_16#pic_cente

qq_41994594的博客 1209

android_tools使用笔记#1

1.method 1    dex2jar----->jd-gui.jar sh d2j-dex2jar.sh -f ~/path/to/apk_to_decompile.apk 2.method 2 apktool.jar d ./app.apk apktool.jar b ./app_dir/ 3.ETC---> method  append

keial的博客 315

# Android Studio学习笔记Day02

Textcolor设置字体颜色,总共分为8位,#00000000,每两位代表一个含义,前两位00代表透明度为纯透明,FF代表不透明,‘#’ 必须带有,否则会不显示,三位四位00代表红色,五六位00代表绿色,七八位代表蓝色,颜色三元素(红,绿,蓝)备注可查找十六进制颜色表。gravity--->有多种格式:center(放在正中间),right(右边),bottom(底下),center_horizontal(水平居中),center_vertical(垂直居中);无论是dp,sp单位的目的是为了进行适配。

weixin_62048761的博客 114

嵌入式底层原理与工程实践:从GPIO电气特性到系统可靠性

嵌入式开发本质是软硬协同的物理过程,其核心在于理解数字信号如何在真实电路中生成、传输与响应。本文从GPIO电气特性、电源完整性、时钟树配置等底层原理切入,揭示推挽/开漏驱动能力、LDO纹波对ADC精度的影响、APB分频导致的UART波特率误差等关键技术细节;强调示波器测量、寄存器直操、启动流程剖析等工程化能力,而非抽象语法或框架调用。内容紧密围绕‘嵌入式学习路线’和‘嵌入式八股文’两大高频搜索需求,将面试考点还原为可测量的硬件行为(如中断响应时间3.2μs),帮助开发者跨越‘能跑’到‘可靠’的关键鸿沟,适用

weixin_33978044的博客 398

【Android笔记#4】Android4.0的menu异常+res新建Directory异常

1.编写“选项菜单”实例时,android4.0版本无法显示menu右上角3个点,其他高级版本可正常显示。实体触摸键却可直接调出。自写一个makeActionOverflowMenuShown()方法解决,实现3点显示: private void makeActionOverflowMenuShown() { try { ViewConfiguration...

Jelly_Bean的博客 367
上一篇: # 作业android
下一篇: 设计编程网站集:物理化学网站集
FakeOccupational
博客等级 码龄6年 2万+粉丝 1727原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值