小编for*_*ill的帖子

Android支持库SearchView xml属性queryHint和iconifiedByDefault无法正常工作

我在布局文件中有以下SearchView

<android.support.v7.widget.SearchView
    android:id="@+id/search_view"
    android:layout_height="wrap_content"
    android:layout_width="match_parent"
    android:queryHint="@string/search"
    android:iconifiedByDefault="false"

     />
Run Code Online (Sandbox Code Playgroud)

但是,当我运行我的应用程序时,没有提示并且searchview被图标化,在代码中它可以工作我的问题是这是一个支持库中的错误吗?

android searchview

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

android.net.conn.CONNECTIVITY_CHANGE上的BroadcastReceiver被多次调用

我的清单中有以下内容

 <receiver android:name=".receiver.WifiReceiver" >
            <intent-filter>
                <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
            </intent-filter>
 </receiver>
Run Code Online (Sandbox Code Playgroud)

和以下的BroadcastReceiver:

public class WifiReceiver extends BroadcastReceiver { 
private static String TAG = makeLogTag(WifiReceiver.class);

@Override
public void onReceive(Context context, Intent intent) {

    ConnectivityManager connectivityManager = (ConnectivityManager)
            context.getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo networkInfo = null;
    if (connectivityManager != null) {
        networkInfo =
                connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);

        LOGD(TAG, "connectivity info:" + networkInfo);
    }

   if(networkInfo != null && networkInfo.isConnected()) {
       //TODO: see why this is called multiple times and handle schedule reloading
       LOGD(TAG, "have Wifi connection and is connected");
   }else …
Run Code Online (Sandbox Code Playgroud)

android broadcastreceiver

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

adb shell setprop log.tag.SQLiteStatements VERBOSE什么都不做?

在搜索如何调试sqlite时,我遇到了命令, adb shell setprop log.tag.SQLiteStatements VERBOSE 但它似乎没有在我的设备上记录任何查询 Samgung S4 running CyanogenMod,也在Nexus 4

sqlite debugging android

6
推荐指数
1
解决办法
1461
查看次数

Amazon S3权限

我正在使用GetSessionToken/GetFederationToken在Amazon S3中使用临时会话,我计划每个人可以上传到S3超过10K用户,因此我最初想到为每个用户使用一个存储桶并为每个存储桶设置写入(上载)权限每个用户,但由于每个亚马逊帐户的存储桶数量有限制,我已经抛弃了这个想法.

如何设置允许公共读取的权限,并仅在用户想要上载的对象的键上添加前缀?

例如,如果用户名X上传文件,则密钥必须类似于X_filename.

或者任何其他允许我拥有安全性的方式,这适用于移动应用程序,我不希望在上传文件时通过我们自己的服务器.

编辑:

我已经使用以下策略尝试了GetFederationToken操作

"{
   "Statement":[{
      "Effect":"Allow",
      "Action":["s3:PutObject","s3:GetObject","s3:GetObjectVersion",
      "s3:DeleteObject",\"s3:DeleteObjectVersion"],
      "Resource":"arn:aws:s3:::user.uploads/john/*"
   }
   ]
}"
Run Code Online (Sandbox Code Playgroud)

我在S3和文件夹john上有bucket user.uploads

但是任何使用会话凭据上传到具有密钥john/filename的bucket user.uploads都会因访问被拒绝而失败"

mobile amazon-s3 amazon-web-services

4
推荐指数
1
解决办法
4049
查看次数

变量未在try catch块`finally`中初始化

为什么编译器不能理解变量是在块trycatch块中初始化而在块中抱怨finally

int i;
try {
    i = 0;
}
catch (Exception e) {
    i = 2;
}
finally {
    System.out(i);
}
Run Code Online (Sandbox Code Playgroud)

java syntax compiler-errors

4
推荐指数
1
解决办法
1099
查看次数

Android AccountManager和登录活动

我使用AccountManager在我的应用程序中验证用户

我知道我可以调用getAuthTokenByFeatures,如果没有为我的特定accountType设置帐户,它会启动我的LoginActivity,这正是我想要的,

我有一个BaseActivity,它在onCreate方法上执行,但是在启动LoginActivity时,旧活动仍然在堆栈上,因此通过按后退按钮,用户可以返回到上一个活动是我不想要的行为,我在BaseActibity.onCreate上的代码如下

    AccountManager manager = AccountManager.get(getBaseContext());

    manager.getAuthTokenByFeatures(
            AccountGeneral.ACCOUNT_TYPE,
            AccountGeneral.AUTHTOKEN_TYPE_FULL_ACCESS,
            null,
            this,
            null,
            null,
            new AccountManagerCallback<Bundle>() {
                @Override
                public void run(AccountManagerFuture<Bundle> future) {
                    Bundle bnd = null;
                    try {
                        bnd = future.getResult();
                        final String authtoken = bnd.getString(AccountManager.KEY_AUTHTOKEN);

                        LOGV(TAG, "GetTokenForAccount Bundle is " + bnd);

                    } catch (Exception e) {
                        LOGE(TAG, "exception while getAuthTokenByFeatures", e);
                    }
                }
            }
            , null);
Run Code Online (Sandbox Code Playgroud)

问题是:如何禁用该返回行为?如果是我以编程方式调用LoginActivity,我只需在BaseActivity上调用finish()

authentication android back-stack

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

Java HashTable size()后跟值()安全的线程?

我在一个线程中按顺序执行以下操作:

int size = hashTable.size();

foreach .... in ... hasTable.values()

做一点事

我的问题是foreach会执行大小的时间吗?(即使另一个线程同时放置/删除元素?

java multithreading hashtable thread-safety

0
推荐指数
1
解决办法
197
查看次数