小编And*_*Man的帖子

关闭按钮上的虚拟键盘

我有一个ActivityEditText,一个按钮和一个ListView.目的是在中键入搜索屏幕EditText,按下按钮并使搜索结果填充此列表.

这一切都很完美,但虚拟键盘表现得很奇怪.

如果我点击EditText,我会得到虚拟键盘.如果我单击虚拟键盘上的"完成"按钮,它就会消失.但是,如果在单击虚拟键盘上的"完成"之前单击我的搜索按钮,则虚拟键盘会停留,我无法摆脱它.单击"完成"按钮不会关闭键盘.它将"完成"按钮从"完成"更改为箭头并保持可见.

谢谢你的帮助

android virtual-keyboard

131
推荐指数
8
解决办法
13万
查看次数

服务中的广播接收器

我想在一个BroadcastReceiver内部启动Service.我想要做的是有一个后台运行service,收集传入的短信,并记录来电.我认为最好的解决方法是service运行一个包含可以编目的广播接收器.

我该怎么做呢?我已经启动并运行了我的服务.

sms android broadcastreceiver android-service

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

Android中"屏幕尺寸"和"屏幕密度"的区别?

我有几个问题:

  1. 什么是屏幕尺寸

  2. 什么是屏幕密度

  3. 是什么区别之间的屏幕尺寸屏幕密度

  4. 如何在Android中支持不同的密度和不同的屏幕尺寸?

我已经阅读了官方文档,但我无法理解屏幕大小屏幕密度之间的差异.

graphics android screen-resolution screen-size

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

Java 中的 Android 架构 SingleLiveEvent 和 EventObserver 实践示例

我尝试使用两个字段 ( username, password)制作示例登录页面,并使用 android 架构组件保存按钮,使用 android 数据绑定,验证viewmodel视图模型中和来自视图模型的数据我调用存储库以进行远程服务器调用,如官方文档,远程服务器中所述成功返回用户 ID 那么如何使用此成功从视图模型开始新片段?我学到了一些关于singleLiveEventand 的知识EventObserver,但我找不到明确的用法示例:

登录视图模型

private MutableLiveData<String> snackbarStringSingleLiveEvent= new MutableLiveData<>();

@Inject
public LoginViewModel(@NonNull AppDatabase appDatabase, 
                      @NonNull JobPortalApplication application,
                      @NonNull MyApiEndpointInterface myApiEndpointInterface) {
    super(application);
    loginRepository = new LoginRepository(application, appDatabase, myApiEndpointInterface);
    snackbarStringSingleLiveEvent = loginRepository.getLogin(username.get(), password.get(), type.get());
}

public MutableLiveData<String> getSnackbarStringSingleLiveEvent() {
    return snackbarStringSingleLiveEvent;
}
Run Code Online (Sandbox Code Playgroud)

存储库

public SingleLiveEvent<String> getLogin(String name, String password, String type) {
    SingleLiveEvent<String> mutableLiveData = new SingleLiveEvent<>();
    
    apiEndpointInterface.getlogin(name, password, type).enqueue(new Callback<GenericResponse>() {
        @Override
        public void onResponse(Call<GenericResponse> …
Run Code Online (Sandbox Code Playgroud)

java android android-architecture-components

8
推荐指数
1
解决办法
4738
查看次数

如何在Android中创建服务与XMPP服务器保持持久的Xmpp连接?

在Internet上搜索了很多之后我们得出了一个结论,为了确保与XMPP服务器保持连接,我们必须创建一个服务,

我们已经创建了一个使用Smack库连接XMPP服务器,并且它可以与移动和Wi-Fi网络一起使用.

每次你做出一些设计方法总是很重要!!!,Smack已经隐藏地实现了这个重新连接机制,在那里监听连接,如果连接丢失,Smack会尝试在某个时间间隔重新连接XMPP服务器.

我们的用例场景::
INTERNET连接可以是因为wifi或数据网络,这里如果连接转是空闲状态有人关闭屏幕cpu进入睡眠现在任何数据都发送到服务器上这个连接将没有响应,因为服务器不再是在监听客户端,在客户端XMPP连接已经处于连接模式,连接监听器没有检测到与服务器的任何断开连接,所以这里流程完成了.

在INTERNET上搜索后,我们发现解决这个问题的可能解决方法是在修复后ping服务器(我们使用1分钟作为修复周期),检测到ping失败后,我们实现了与smack相同的重新连接机制(从Smack重新连接机制中获取的想法)本身)通过利用计时器任务.

问题::我们唯一的问题是电池耗尽,如果用户仍然与INTERNET连接并且重新连接间隔增加,它将耗尽电池.

1).上述问题的可能解决方案是什么?

2).我们应该采取另一种方法吗?

android xmpp asmack

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

从线程中停止Android服务

我有一个服务,在此期间启动一个线程onCreate().该线程正在监视硬件(IOIO),并在断开连接后结束,因此基本上是无限循环.从Activity停止服务工作正常,线程也停止(结束onDestory()).

我的问题是,如果线程死(比如因为异常),就可以停止产生它的服务.

我尝试stopSelf()在线程代码中使用但服务不会停止.

谢谢你的第一篇文章,所以请原谅我应该遵循的任何遗漏的约定.

multithreading android android-service

5
推荐指数
1
解决办法
813
查看次数

SimpleJdbcCall 中的多个输出参数

在 Java spring boot 框架中,尝试使用以下方法消费 Store 过程

 jdbcTemplate.setDataSource(dataSource);

       SimpleJdbcCall simpleJdbcCall = new SimpleJdbcCall(jdbcTemplate)
                                           .withSchemaName("abc")
                                           .withFunctionName("proname")
                                           .addDeclaredParameter(new
 SqlOutParameter("",""));
        Map<String, Object> map= new HashMap<>();
         map.put("a",a);
        map.put("b",b);
        map.put("c",c);
        map.put("d",d);

 SqlParameterSource in = new MapSqlParameterSource(map);
 Map<String, Object> out = simpleJdbcCall.execute(in);
Run Code Online (Sandbox Code Playgroud)

但我的程序也有参数这里是我的程序

function proname(z varchar2,
                                            a varchar2,
                                            b varchar2,
                                            c varchar2,
                                            d in out number,
                                            e out number,
                                            f out varchar2,
                                            g out varchar2)
Run Code Online (Sandbox Code Playgroud)

该过程也有输出参数,如上面的代码所示,问题是如何在简单的 JDBC 调用中提到多个输出参数(注意多个)????

java spring spring-jdbc spring-boot

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

在android中隐藏Tablayout Bar

我有一个活动toolbar,Tablayout,viewpager 与这样的片段

在此输入图像描述 我想toolbar对所有片段实施 材料搜索

像那样 在此输入图像描述

但问题是TAB Bar. 我想在搜索打开时隐藏标签栏(呼叫,聊天,联系人),并在搜索关闭时取消隐藏它

如何隐藏标签栏?

我正在使用库进行材料搜索视图实现

布局代码如下

<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true"
   >

    <android.support.design.widget.AppBarLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:theme="@style/AppTheme.AppBarOverlay">
        <FrameLayout
            android:id="@+id/toolbar_container"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">
        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:background="?attr/colorPrimary"

            android:minHeight="?attr/actionBarSize"
            app:popupTheme="@style/AppTheme.PopupOverlay" />

        <com.miguelcatalan.materialsearchview.MaterialSearchView
            android:id="@+id/search_view"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />

        </FrameLayout>

        <android.support.design.widget.TabLayout
            android:id="@+id/tabs"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            app:tabMode="scrollable"
            app:tabGravity="center"/>

    </android.support.design.widget.AppBarLayout>

    <include layout="@layout/content_dashboard" />


</android.support.design.widget.CoordinatorLayout>
Run Code Online (Sandbox Code Playgroud)

mobile android android-fragments android-viewpager android-tablayout

3
推荐指数
1
解决办法
3234
查看次数

如何在Intent中设置Activity Title?

TabHost我们能做到getActionBar().setTitle("ACTITIVTY TITLE").

但是intent呢?

有没有办法设置标题intent

  Intent i = new Intent(MenuActivity.this, DrawerListActivity.class);
                startActivity(i);
                Toast.makeText(getBaseContext(), "RF number: " +
                        KEY_RFnumber, Toast.LENGTH_SHORT).show();
Run Code Online (Sandbox Code Playgroud)

android android-intent

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

IntentService中的广播接收器(服务泄露了IntentReceiver)

我尝试IntentService用一个BroadcastReceiver对它做出反应的方法来实现SCAN_RESULTS_AVAILABLE_ACTION.

IntentService假设每当比较列表onReceive被调用.我总是得到

"服务泄露了IntentReceiver"

即使我取消注册BroadcastReceiverin,也会出错onDestroy().

这是代码:

public class MyClass extends IntentService {
    private HashMap<String, List<String>>;
    private WifiManager mWifiManager;
    private WifiReceiver mWifiReceiver; 

public MyClass() {

    super("MyClass");
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
    mWifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
    mWifiReceiver = new WifiReceiver();
    registerReceiver(mWifiReceiver, new IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));
    mWifiManager.createWifiLock(WifiManager.WIFI_MODE_SCAN_ONLY,"ScanLock");
    mWifiManager.setWifiEnabled(true);

return START_NOT_STICKY;
}

@Override
public void onDestroy(){
    unregisterReceiver(mWifiReceiver);
    mWifiManager.setWifiEnabled(false);
}

@Override
protected void onHandleIntent(Intent intent) {
        // TODO …
Run Code Online (Sandbox Code Playgroud)

android

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