小编jax*_*jax的帖子

271
推荐指数
5
解决办法
18万
查看次数

通过意图传递枚举或对象(最佳解决方案)

我有一个活动,启动时需要访问两个不同的ArrayLists.两个列表都是我自己创建的不同对象.

基本上我需要一种方法将这些对象从Intent传递给活动.我可以使用addExtras()但这需要一个Parceable兼容类.我可以让我的类通过序列化,但据我所知,这会减慢程序的速度.

我有什么选择?

我可以通过枚举吗?

旁白:有没有办法从Intent将参数传递给Activity Constructor?

android

204
推荐指数
5
解决办法
10万
查看次数

即使你抛出一个新的异常,finally块也会运行吗?

在这个代码中,someVar即使执行catch块并抛出第二个异常,也会设置代码?

public void someFunction() throws Exception {
    try {
        //CODE HERE
    } catch (Exception e) {
        Log.e(TAG, "", e);
        throw new Exception(e);
    } finally {
        this.someVar= true;
    }
}
Run Code Online (Sandbox Code Playgroud)

java exception-handling

132
推荐指数
3
解决办法
6万
查看次数

在混淆代码中隐藏字符串

我只是使用proguard对我的Android代码进行了模糊处理,然后对其进行了反编译.有许多字符串我真的想隐藏在窥探之中.当我反编译我的代码时,每个人都可以看到字符串......并进行更改.其中一个字符串是我的许可服务器的URL,它们实际上可以将URL更改为指向虚假服务器(因为我将向公众发布服务器代码).隐藏此类信息的最佳方式是什么?

另外,我注意到R类字符串都是随机数,但我在反编译代码中找不到R类.它在哪里?

敌人的例子我看到:new SimpleCursorAdapter(localActivity, 2130903058, localCursor, arrayOfString, arrayOfInt);

2130903058是一个布局文件,但它引用了什么?除非它指向某种地址,否则该数字没有任何意义.

java android proguard

57
推荐指数
3
解决办法
4万
查看次数

Base64 vs HEX用于在XML doc中通过Internet发送二进制内容

在XML文档中的系统之间发送二进制内容的最佳方法是什么

我知道Base64和Hex,真正的区别是什么.我目前正在使用Base64,但需要包含一个外部公共库,因为我认为我可以创建一个函数.

java

56
推荐指数
6
解决办法
4万
查看次数

使用lombok @Builder的必需参数

如果我将@Builder添加到类中.构建器方法已创建.

Person.builder().name("john").surname("Smith").build();
Run Code Online (Sandbox Code Playgroud)

我有一个要求需要特定字段的要求.在这种情况下,名称字段是必需的,但姓氏不是.理想情况下,我想宣布它是这样的.

Person.builder("john").surname("Smith").build()
Run Code Online (Sandbox Code Playgroud)

我无法弄清楚如何做到这一点.我尝试将@Builder添加到构造函数中,但它不起作用.

@Builder
public Person(String name) {
    this.name = name;
}
Run Code Online (Sandbox Code Playgroud)

java lombok

54
推荐指数
6
解决办法
4万
查看次数

在eclipse中为所有源文件添加标准注释头

有没有办法在一个地方添加标准标题注释,它将适用于我项目中的所有源文件?标题将包含我的姓名,联系方式,公司,许可证等.

eclipse

53
推荐指数
4
解决办法
6万
查看次数

ListSelector适用于整个列表

我有一个简单的列表,其中包含listselector.

<ListView android:id="@+id/list" android:layout_width="fill_parent"
    android:layout_height="fill_parent" android:layout_below="@+id/round"
    android:listSelector="#99000000" android:clickable="true" android:cacheColorHint="#00000000" android:background="#00000000">
</ListView>
Run Code Online (Sandbox Code Playgroud)

如您所见,android:listSelector ="#99000000",但"黑色alpha"颜色应用于整个列表,而不是所选项目.


所以这就是我现在所拥有的,但整个列表仍然变黑

:: listview_background.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
  <item android:state_enabled="false" android:state_focused="true"
        android:drawable="@drawable/list_normal" />
  <item android:state_pressed="true"
        android:drawable="@drawable/list_pressed" />
  <item android:state_focused="true"
        android:drawable="@drawable/list_active" />
</selector>
Run Code Online (Sandbox Code Playgroud)

:: colors.xml

<resources>
    <drawable name="list_normal">#96FFFFFF</drawable>
    <drawable name="list_active">#66000000</drawable>
    <drawable name="list_pressed">#CA000000</drawable>
</resources>
Run Code Online (Sandbox Code Playgroud)

::我列表中的xml标记

android:listSelector="@drawable/listview_background"
Run Code Online (Sandbox Code Playgroud)

android

47
推荐指数
3
解决办法
5万
查看次数

强制打开软键盘

我试图在一个Activity中强制打开Soft Keyboard并抓取输入的所有内容,因为我想自己处理输入,我没有EditText.目前我已经尝试了这个,但它不起作用.我想在mAnswerTextView下打开Soft Keyboardto(注意:它是TextView而不是EditText).

    InputMethodManager mgr = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
    // only will trigger it if no physical keyboard is open
    mgr.showSoftInput(mAnswerTextView, InputMethodManager.SHOW_IMPLICIT);
Run Code Online (Sandbox Code Playgroud)
  1. 如何强制打开软键盘
  2. 如何获取输入的所有内容,以便我可以处理每个角色.我想在处理之后从软键盘中清除每个字符.即,用户不应该在软键盘中输入整个单词.

android

46
推荐指数
4
解决办法
6万
查看次数

我应该在发布之前从我的代码中删除e.printStackTrace()

我正在阅读Android发布文档,他们说要从我的代码中删除所有日志调用.我e.printStackTrace()在我的代码中有一些调用,可以打印为我程序正常运行的一部分(即,如果文件还不存在).

我还应该删除这些电话吗?

logging production android exception

41
推荐指数
1
解决办法
2万
查看次数