初涉Androidの笔记

液态神经网络系列(四) | 一条 PyTorch 从零搭建 LTC 细胞 本文详细介绍了如何从零开始用PyTorch实现Liquid Time-constant Networks(LTC)神经元模型。首先将LTC的核心微分方程拆解为输入电导、系统时间常数和数值积分器三个模块,然后逐步构建LTCCell类,包括物理参数初始化、突触参数设置和前向演化过程。文章还展示了如何封装LTCModel处理不规则时间序列,并通过正弦波抗干扰实验验证了LTC模型的优越性。最后讨论了数值稳定性、计算代价等实现细节,并预告了下一篇将探讨使用伴随灵敏度算法优化显存占用的方法。 阅读详情

UI设计

Activity的生命周期

打开A(page)调用的方法

onCreate();

onStart();

onResume();

A(page)的基础上再打开B(page)

A->onPause();

B->onCreate();

B->onStart();

B->onResume();

A->onStop();(A被完全遮盖是会调用该方法)

B返回A

B->onPause();

A->onRestart);

A->onStart();

A->onResume();

B->onStop();

B->onDestroy();

home键时;

A->onPause();

System->onCreate();

System->onStart();

System->onResume();

A->onStop();

布局管理器

FrameLayout(框架布局)

LinearLayout(线性布局)

TableLayout(表单布局)

AbsoluteLayout(绝对布局)

RelativeLayout(相对布局)

事件处理 

菜单(OptionsMenu/ContextMenu

OptionsMenu/

Activity添加菜单

重写onCreateOptionsMenu(Menu menu)方法

menu.add()添加选项

重写onOptionsItemSelected(MenuItem item)方法添加事件

item.getItemId()获取itemid的值

finish();结束程序;

ContextMenu

重写onCreateContextMenu()

menu.add()添加选项

重写onContextItemSelected()方法添加事件

registerForContextMenu(getListView());注册上下文菜单

Adapter/自定义Adapter

继承BaseAdapter 类

package com.lxc;

import java.util.HashMap;

import java.util.List;

import java.util.Map;

import android.content.Context;

import android.view.View;

import android.view.ViewGroup;

import android.widget.BaseAdapter;

import android.widget.Button;

import android.widget.ImageView;

import android.widget.TextView;

import android.widget.Toast;

public class MyAdapter extends BaseAdapter {

List listData;

Context context;

//创建构造函数

public MyAdapter(Context ctx,List data){

context = ctx;

listData = data;

}

@Override

//getCount()方法返回的是ListView显示的行数

public int getCount() {

// TODO Auto-generated method stub

return listData.size();//该方法返回的是listData中有多少行数据

}

@Override

public Object getItem(int index) {

// TODO Auto-generated method stub

return listData.get(index);

}

@Override

public long getItemId(int index) {

// TODO Auto-generated method stub

return index;

}

@Override

public View getView(int index, View rowview, ViewGroup root) {

// TODO Auto-generated method stub

View newRowView = View.inflate(context, R.layout.list, null);//获取布局模版的对象

//获取布局模版中的各个组件

ImageView img = (ImageView) newRowView.findViewById(R.id.img);

TextView title = (TextView) newRowView.findViewById(R.id.title);

Button btnDownload = (Button) newRowView.findViewById(R.id.bt1);

//获取数据对象

HashMap map = (HashMap)listData.get(index);

//为数据对象设值

title.setText(map.get("name").toString());

img.setImageResource(Integer.parseInt(map.get("img").toString()));

btnDownload.setTag(index);//为每一个该组件设置标记

//添加事件

btnDownload.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

// TODO Auto-generated method stub

Integer sTag = (Integer)v.getTag();

Toast.makeText(context,"buttonDownload"+sTag,Toast.LENGTH_SHORT).show();

}

});

return newRowView;

}

}

ListView

ArrayAdapter(Context contextint text ViewResoureId,List objects)

(只能显示一行构建ArrayAdapter需要三个参数,第一个参数是上下文,第二个参数是指定列表项的模板,第三个是列表项中显示的数据)

SimpleAdapter()

采用SimpleAdapter()可以使用继承ListActivity类来实现显示ListView

public class DMNote extends ListActivity {

/** Called when the activity is first created. */

private TextView textView;

    @Override

    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.main);

        textView = (TextView)findViewById(R.id.textView1);

        textView.setText(R.string.list);

        ArrayList<HashMap<String,String>> list = new ArrayList<HashMap<String,String>>();

        HashMap<String,String> map1 = new HashMap<String,String>();

        HashMap<String,String> map2 = new HashMap<String,String>();

        HashMap<String,String> map3 = new HashMap<String,String>();

        HashMap<String,String> map4 = new HashMap<String,String>();

        map1.put("list""作者介绍");

        map2.put("list""人物介绍");

        map3.put("list""内容详解");

        map4.put("list""other");

        list.add(map1);

        list.add(map2);

        list.add(map3);

        list.add(map4);

        SimpleAdapter listAdapter = new SimpleAdapter(this, list, R.layout.onedirnew String [] {"list"}, new int [] {R.id.textView2});

        setListAdapter(listAdapter);

}

}

SimpleCursorAdapter()

Spinner

步骤:

1现在Layout下的XML中添加一个Spinner组件;

2、再获取Spinner组件;

3、创建适配器(ArrayAdaper);

4、在将适配器设置给Spinner组件(setAdapter());

5、设置事件(setOnItemSelectedListenter())】

Gallery

AlertDialog

数据库

检查存储卡是否存在:

Environment.getExternalStorageState();用于获取SDCard的状态,如果手机装有SDCard,并且可以进行读写,那么方法返回的状态等于Environment.MEDIA_MOUNTED.

Environment.getExternalStorageDirectory();用于获取SDCard的目录。

SharePreferences

存储数据

//获取SharedPreferences 对象

SharedPreferences sharePreferences = getSharedPreferences(

"Login", Activity.MODE_PRIVATE);

//通过sharePreferences接口的edit获取SharedPreferences.Editor对象

SharedPreferences.Editor saveInfo = sharePreferences.edit();

//通过putXXX()方法存值

saveInfo.putString("name"name.getText().toString());

saveInfo.putString("password"password.getText().toString());

saveInfo.commit();

获得数据

SharedPreferences sharePreferences = getSharedPreferences(

"Login", Activity.MODE_PRIVATE);

sharePreferences.getString("name"null)

通过getXXX()方法获取值

数据库

public class UserDAO{

//1.操作数据库

SQLiteDatabase database;

Context context;

  //定义构造函数

public UserDAO(Context cont){

this.context = cont;

}

//定义创建数据的的方法

public void openDb(){

UserDbHelper dbHelper = new UserDbHelper(context);

database = dbHelper.getWritableDatabase();

}

//定义关闭数据库的值

public void closeDb(){

database.close();

}

public void addUser(String name,String password){

String insertSql = "insert into users(username,userpwd) values (?,?)";

database.execSQL(insertSql, new Object[]{name,password});

}

//2.初始化数据库

class UserDbHelper extends SQLiteOpenHelper{

//onCreate创建数据库

public UserDbHelper(Context context) {

super(context, "userInfo.db"null, 1);

// TODO Auto-generated constructor stub

}

@Override

//onCreate创建表

public void onCreate(SQLiteDatabase db) {

// TODO Auto-generated method stub

String sql = "create table users(_id integer primary key autoincrement,username text not null,userpwd text not null)";

db.execSQL(sql);

}

@Override

//当数据库发生变化时操作

public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

// TODO Auto-generated method stub

}

}

}

POCV/SOCV 、LVF的差别 1.POCV与OCV、AOCV 为了模拟片上PVT的差异带来的影响,最早提出了OCV(On Chip Variation)给每个cell都设置一个固定的derate值,来覆盖最悲观的情况,但是随着工艺发展,设计规模增大,OCV过度的悲观开始限制性能,于是又有了AOCV(Advanced On Chip Variation),用基于depth和distance的derate来取代单一的全局的derate值,但时序收敛的过程中逻辑级数depth的变化让时序分析的时间变得非常长,由此POCV诞生了。 POCV 阅读详情

相关推荐

仿真学习系列(四十九):Sigrity仿真之电容库制作

在高速电路设计中,电源完整性(PI)是确保系统稳定、可靠运行的关键因素。随着电子产品对性能的要求不断提升,PDN(电源分配网络)的设计与优化变得尤为重要。为了确保电源网络在高速工作状态下不会引发电压波动和信号干扰,我们需要在设计中精确地选择电容器进行优化,而电容库的制作则是这一过程的核心。 OptimizePI作为一个强大的电源完整性优化工具,能够帮助设计师根据不同的目标,批量进行PDN仿真,以得出最佳电容选择。

案例文章,高速信号 176

Android知识梳理之Sqlite数据库的使用和优化

PS.不知不觉间发现自己已经做了很久很久的Android开发了,过去对知识块的梳理总是放在云笔记里面.主要的原因还是自己的笔记太杂乱,没有脉络.本着开源的精神,也趁着这段时间有空将之前云笔记里面的文章梳理下.同时将一些知识点整理出来和大家共同分享. 转载请注明出处:http://blog.csdn.net/unreliable_narrator ...

XBlithe的博客 1702

YOLOv11改进策略【损失函数篇】| 引入Soft-NMS,提升密集遮挡场景检测精度,包括GIoU-NMS、DIoU-NMS、CIoU-NMS、SIoU-NMS、 EIou-NMS

传统的非极大值抑制(NMS)算法在目标检测中存在一个问题,即当一个物体的检测框与具有最高得分的检测框M有重叠(在预定义的重叠阈值内)时,会将该检测框的得分设置为零,从而导致该物体可能被遗漏,降低了平均精度。为了解决这个问题,作者提出了Soft-NMS算法。本文将YOLOv11默认的NMS修改成GIoU-NMSDIoU-NMSCIoU-NMSSIoU-NMSEIou-NMS。

Limiiiing的博客 4274

SQLite数据库的基本使用

·SQLite是安卓内嵌的数据库,它仅占用内存几百kb。 一、数据库的基本操作 ·数据库的创建方法: public class MyHelper extends SQLiteOpenHelper{ //创建一个类继承SQLiteOpenHelper //构造方法,参数为上下文对象 public MyHelper(Context context){ super...

漫漫学习成长之路 2822

数据库SQLiteDabaBase

//数据库 1.创建数据库 自定义数据库。 首先定义个自己的数据库类, 用来创建数据库和创建表 public class UserOpenHelper extends SQLiteOpenHelper {//必须继承SQLiteOpenHelper类, public UserOpenHelper(Context context) {//这个方法可以自己写,也可以覆写系统的改成...

diumin6534的博客 149

[Android Studio]微型技术报告-手机平台应用开发

最近,我在进行有关手机平台的应用开发。在项目开发过程中,可谓是吃尽了苦头,临近崩溃。由于是才接触这门技术的小白,很多地方都是初次接触,操作起来显得特别困难,所以在这个过程中遇到了许许多多的问题,让我甚是苦恼。于是我花费了大把的时间和精力上网各种逛论坛刷博客查阅资料,总算,功夫不负有心人,问题差不多都解决了,自己也感觉在这门技术领域初步入门了。目前项目的开发也变得顺畅了些,虽然不是完全没问题,但相比...

qq_42688349的博客 531

Android学习笔记034之数据存储—SQLite数据库

前面我们介绍了Android数据存储的两种方法:文件存储和SharedPreference存储,这一篇我们来学习一下Android存储数据的另外一种方式——SQLite数据库存储。1、SQlite数据库简介  现在的主流移动智能设备中,比如Android手机、iPhone手机,平板等都是使用SQLite数据库作为存储复杂数据的存储引擎。那么什么是SQLite数据库呢?

Huawen的博客 1970

在安卓开发中使用SQLite数据库操作实例

前段时间写了个安卓平台下SQLite数据库操作的实例 ,一直没得时间总结 ,今天把它弄出来了。 在Android 运行时环境包含了完整的 SQLite。 首先介绍一下SQLite这个数据库:   SQLite,是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内...

weixin_33802505的博客 709

Android项目中创建数据库至sd卡

最近在写全景图片查看器的项目,用到了SQLite数据库。由于数据库中需要存放图片缩略图,导致数据库比较庞大,如果直接放在内存中,可能会出现运行缓慢占用内存过大的问题。因此想把数据库创建到外部存储。参考了其他关于解决此问题的博客, http://blog.csdn.net/howlaa/article/details/46707159 此博客写的比较详细,感谢原作者。根据作者的思路,本人查看了一下

Wanghs0279的博客 693

Android创建数据

package com.example.db; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteDatabase.CursorFactory; import android.database.sqli

w525835554的专栏 464

数据库

##建数据库 public class SqliteHelper extends SQLiteOpenHelper { public SqliteHelper(Context context) { super(context, "User.db", null, 1); } @Override public void onCreate(SQLite...

weixin_44022413的博客 124

android下创建数据库的步骤 增删改查 和 测试程序的方法流程

android下创建数据库的步骤: [java] view plaincopy    1.创建一个数据库打开的帮助类  继承SQLiteOpenHelper 2. 构造方法 设置数据库文件的名称  设置游标工厂 null  数据库的版本 1 3. 填写 onCreate()方法  数据库表结构的初始化  数据库第一次被创建的时候

宏扬IT的专栏 1301

super关键字(以android代码分析)

super关键字的核心就是指代当前类的父类。 1.super(“若干参数”); 放在子类构造方法的首行,表示调用父类中包含若干参数的构造方法。 super(); -------调用父类中的无参构造 super(参数1,参数2);------------调用父类中两个参数的构造方法。 例如在android中创建sqlite数据库帮助器 import android.content.Context...

weixin_43311389的博客 3502

Intent中的四个重要属性

Intent作为联系各Activity之间的纽带,其作用并不仅仅只限于简单的数据传递。通过其自带的属性,其实可以方便的完成很多较为复杂的操作。例如直接调用拨号功能、直接自动调用合适的程序打开不同类型的文件等等。诸如此类,都可以通过设置Intent属性来完成。    Intent主要有以下四个重要属性,它们分别为:      Action:Action属性的值为一个字符串,它代表了系统中已经定义

android_he的专栏 1334

android学习笔记AppWidget

appwidget的功能非常有限  如果你的widget里面有一个TextView的话,你甚至无法得到这个控件中的文字内容,不要想用getText()方法,因为appwidget只支持一种对其包含控件的访问方法:  RemoteViews  rv = new RemoteViews(packageName, layoutId);  rv中包含一些设置属性的方法  比如:setTextVie

android_he的专栏 723

android学习笔记数据存储

SharedPreference SharedPreference主要是保存一些常用的配置比如窗口状态,一般在Activity中 重载窗口状态onSaveInstanceState保存一般使用SharedPreferences完成。 类似过去Windows系统上的ini配置文件,但是它分为多种权限,可以全局共享访问。 例子: 工程1: Java代码 SharedPreference

android_he的专栏 669

android学习笔记广播与服务

广播 发送广播 Intent intent = new Intent(ACTION_INTENT_TEST);//创建Intent对象并设置动作为ACTION_INTENT_TEST sendBroadcast(intent);//发送广播 接受广播(两种) 一、通过AndroidManifest.xml文件中使用标签来接受我们需要的广播(配置xml文件、定义继承BroadcastRec

android_he的专栏 636

企业知识库如何实现多端统一使用:浏览器、Android和iOS客户端介绍

企业知识库不能只在办公室电脑上好用,实施人员到了客户现场要查部署记录,工厂员工站在设备旁要看操作手册,出差的人也可能临时确认一份制度或项目资料。zyplayer-doc支持电脑和手机浏览器,也提供Android、iOS原生客户端,企业部署一套服务即可,账号、权限和文档都在服务端统一管理,不需要为移动端另建一套知识库。

u010047583的专栏 242

Now in Android:安卓官方架构学习

这篇文件介绍了Now in Android项目。这是一个严格遵循安卓推荐架构,用Kotlin和Jetpack Compose构建的Android应用。

Meteors.的博客 158

android PhoneWindow, DecorView 详解

android PhoneWindow, DecorView 详解

maoning20080808的专栏 170

昆明理工大学电力电子技术期末试题及答案

昆明理工大学电力电子技术期末试题及答案,一共四年,每年两套。

windows的git客户端

windows的git客户端的安装文件

下一篇: Calendar和Date深度剖析
android_he
博客等级 码龄15年 3粉丝 10原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值