Comments (3)
遇到的问题
- gradle版本问题,大部分Android都依赖26api,gradle需要在4.6以下
- 登录问题,由于默认在模拟器上运行的是devrelease,所以需要在as的build variants下面切换到product release版本运行
- 蓝牙问题,由于分拣依赖蓝牙,没有蓝牙会崩溃,所以需要注释蓝牙代码
- 签名问题,由于dev版和product版切换,签名没切换,所以需要使用adb命令卸载程序`adb uninstall com.ircloud.yfj```
- 为什么activity都没有实例化?如
startActivity(Intent(this, PrintLabelStyleActivity::class.java))
通常在Intent或者加个括号就完成了实例化,实例化通常不需要自己操作
6. 如何存储登录信息?通过SharedProferences类保存,Android 平台给我们提供了SharedProferences类,这是一个轻量级的储存类,适用于保存一些小数据。SharedProferences具体用法及方法可参见http://www.android.doc.com/reference/android/content/SharedPreferences.html。
7. 如何更改包名?Android Studio如何更换包名(包括代码路径名和项目包名),
8. Please Select android SDK
File-> Project Structure->app->Compile SDK Verision->选择 对应的版本
注意:这里 对应的版本 对应的是:app模块下的 build.gradle 文件里的 compileSdkVersion
如果还不行,可能是sdk只下载了部分,需要在sdkmanager里面下载全部
from blog.
getContext和getActivity
MainActivity.this:表示MainActivity对象,一般用在内部类中指示外面的this,如果在内部类直接用this,指示的是内部类本身。因为MainActivity继承Activity,而Activity继承Context,所以它也可以用来提供Activity Contex;
this:表示当前对象;一般而言,在哪个类中调用,就是指向该对象。
getContext():这个是View类中提供的方法,在继承了View的类中才可以调用,返回的是当前View运行在哪个Activity Context中。
getActivity():获得Fragment依附的Activity对象。Fragment里边的getActivity()不推荐使用原因如下:这个方法会返回当前Fragment所附加的Activity,当Fragment生命周期结束并销毁时,getActivity()返回的是null,所以在使用时要注意判断null或者捕获空指针异常。
runOnUiThread
在Android开发的过程中,主线程主要来完成UI绘制和响应用户的操作,默认情况下,我们大部分的代码都是在主线程中执行的,因此我们时刻要考虑主线程的情况。我们都知道要开启一个子线程来完成一个耗时操作,以避免阻塞主线程影响用户体验,甚至ANR。但是子线程执行完要更新UI的时候,我们又必须回到主线程来更新,实现这一功能常用的方法是执行Activity的runOnUiThread()方法:
Intent
Android中提供了Intent机制来协助应用间的交互与通讯,或者采用更准确的说法是,Intent不仅可用于应用程序之间,也可用于应用程序内部的activity, service和broadcast receiver之间的交互。Intent这个英语单词的本意是“目的、意向、意图”。
Intent是一种运行时绑定(runtime binding)机制,它能在程序运行的过程中连接两个不同的组件。通过Intent,你的程序可以向Android表达某种请求或者意愿,Android会根据意愿的内容选择适当的组件来响应。
activity、service和broadcast receiver之间是通过Intent进行通信的,而另外一个组件Content Provider本身就是一种通信机制,不需要通过Intent。
from blog.
#R文件
简介
当 Android 应用程序被编译,会自动生成一个 R 类,其中包含了所有 res/ 目录下资源的 ID,如布局文件,资源文件,图片(values下所有文件)的ID等。在写java代码需要用这些资源的时候,你可以使用 R 类,通过子类+资源名或者直接使用资源 ID 来访问资源。
R.java文件是活动的Java文件,如MainActivity.java的和资源如strings.xml之间的胶水。我们不要去修改R.java文件的内容。
在 Android Studio 中 R 文件位于 app -> build -> generated -> source -> r -> debug -> 包名 -> R
要注意几点:
- R 文件的本质是一个 java 文件,文件为 R.java
- 该文件其实就是一个 public final class R{} 类,该类里面包含的全是以 public static final 开头的内部类,- - 在这些内部类中全是以 public static final int 开头的属性
- 在 Android Studio 中打开 R.java 文件,然后按 Ctrl + Shift + 减号键,可以看到 R.java 的总体内容
1.java代码中使用:
Java 文字:
txtName.setText(getResources().getText(R.string.name));
图片:
imgIcon.setBackgroundDrawableResource(R.drawable.icon);
颜色:
txtName.setTextColor(getResouces().getColor(R.color.red));
布局:
setContentView(R.layout.main);
控件:
txtName = (TextView)findViewById(R.id.txt_name);
2.XML代码中使用:
通过@xxx即可得到,比如这里获取文本和图片:
<TextViewandroid:text="@string/hello_world" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/img_back"/>
from blog.
Related Issues (20)
- 在命令行中访问浏览器 Carbonyl
- DNS/trust-dns
- FreeCAD 开源cad
- Ambient 开源多人游戏开发引擎
- russh 开源ssh
- pijul
- casdoor 账号管理
- DXVK 开源图形驱动
- OpenDAL 一个对所有数据库统一入口管理的中间层
- VisionFive2
- openstack 相关
- Ceph 相关
- cubeFS
- SSL证书相关/CA机构/证书颁发/私有CA HOT 1
- Let's Encrypt
- caddyserver/caddy 自动申请续期TLS证书的NGINX HOT 3
- ZeroSSL 提供免费的Let’s Encrypt证书管理
- smallstep/certificates,Step Certificates,step-ca开源私有CA,支持ACME
- quinn 支持async的http3
- cert-manager K8S集群证书申请续期,支持DNS-01、ACME
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from blog.