Articles of java的

在Android资源ID之前美元符号的含义是什么

在接受以下post( Android自定义数字键盘 )的答案中,我发现了一个我不理解的语法: $(R.id.t9_key_0).setOnClickListener(this); 美元符号在前面意味着什么? 它是否与Android资源ID特别相关,还是更普通的Java语法? 搜索引擎结果未显示任何合适的结果。

处理操作栏按钮的正确方法?

我使用ActionBarSherlock(虽然我不认为这很重要)。 我有一个主要活动和一个关于活动。 我希望About活动通过其徽标显示后箭头,并执行适当的animation等。 我不知道如何正确地做到这一点。 目前,我在onOptionsMenuItemSelected下按下Up / Home按钮时启动Main活动,但它很hacky并且无法正常工作。 它播放错误的animation,并且处理多任务处理不佳。 我该如何正确设置? 这是我的Main活动中启动About的部分: Intent aboutIntent = new Intent(MainActivity.this, About.class); MainActivity.this.startActivity(aboutIntent); 这是我的关于活动: package com.stevenschoen.test; import android.content.Intent; import android.os.Bundle; import com.actionbarsherlock.app.SherlockActivity; import com.actionbarsherlock.view.MenuItem; public class About extends SherlockActivity { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.about); getSupportActionBar().setDisplayHomeAsUpEnabled(true); getSupportActionBar().setDisplayShowTitleEnabled(false); } public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: // […]

在最后一次出现的字符上拆分字符串

我基本上试图在最后一个时间段溢出一个字符串来捕获文件扩展名。 但有时文件没有扩展,所以我期待。 但问题是有些文件名在结束前有句号,所以… /mnt/sdcard/OG Ron C, Chopstars & Drake – Choppin Ain’t The Same-2013-MIXFIEND/02 Drake – Connect (Feat. Fat Pat) (Chopped Not Slopped).mp3 所以当这个字符串出现时,它会在“02 Drake – Connect(Feat。”)上剁它。 这就是我一直在使用的…… String filePath = intent.getStringExtra(ARG_FILE_PATH); String fileType = filePath.substring(filePath.length() – 4); String FileExt = null; try { StringTokenizer tokens = new StringTokenizer(filePath, “.”); String first = tokens.nextToken(); FileExt […]

如果仅添加新表,则会进行会议室数据库迁移

不要假设,我有一个简单的房间数据库: @Database(entities = {User.class}, version = 1) abstract class AppDatabase extends RoomDatabase { public abstract Dao getDao(); } 现在,我正在添加一个新实体: Pet和bumping version to 2: @Database(entities = {User.class, Pet.class}, version = 2) abstract class AppDatabase extends RoomDatabase { public abstract Dao getDao(); } 当然,Room会抛出exception: java.lang.IllegalStateException: A migration from 1 to 2 is necessary. 假设,我没有更改User类(因此所有数据都是安全的),我必须提供只创建新表的迁移。 所以,我正在调查Room生成的类,搜索生成的查询以创建我的新表,复制它并粘贴到迁移中: final Migration […]

使用从Jackson创建的对象在Android上使用OrmLite保存子集合

我有一个REST服务,我正在从我的应用程序调用,它将一个JSON对象作为byte[]引入,然后将其转换为一个漂亮的嵌套对象集合 – 所有这些都可以正常工作。 我当时想要做的是使用OrmLite将这些对象持久化到SQLite存储,这就是事情开始崩溃的地方,因为据我所知,OrmLite不会自动持久化嵌套对象。 为简单起见,让我们删除我的实际function,并让我的对象简单地建模如下: @DatabaseTable(tableName = “parents”) public class Parent { @DatabaseField(id=true) private String name; @ForeignCollectionField // have to use Collection here because needs to be compatible with Jackson private Collection children; /* Getters and setters go here */ } @DatabaseTable(tableName = “children”) public class Child { @DatabaseField(id=true) private String name; @DatabaseField(foreign=true) private Parent […]