小编Jon*_*Jon的帖子

Android adb"无法打开同步连接!"

我大部分时间都可以在手机上运行和调试我的Android应用程序.然后,看似随机,当我尝试从Eclipse运行或调试我的应用程序时,Eclipse中的控制台说:

[2010-10-12 09:36:48 - myapp] Android Launch!
[2010-10-12 09:36:48 - myapp] adb is running normally.
[2010-10-12 09:36:48 - myapp] Performing com.mycompany.myapp.MyActivity activity launch
[2010-10-12 09:36:48 - myapp] Automatic Target Mode: using device 'HT01TP800561'
[2010-10-12 09:36:48 - myapp] Uploading myapp.apk onto device 'HT01TP800561'
[2010-10-12 09:36:48 - myapp] Failed to upload myapp.apk on device 'HT01TP800561'
[2010-10-12 09:36:48 - myapp] java.io.IOException: Unable to open sync connection!
[2010-10-12 09:36:48 - myapp] Launch canceled!
Run Code Online (Sandbox Code Playgroud)
  • 重试:没有帮助,相同的消息.
  • 重启Eclipse:没有帮助.
  • 重启adb(adb kill-server && adb start-server):没有错误,没有帮助.
  • 重新连接手机:有时 …

eclipse android adb

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

我们如何在Android中使用runOnUiThread?

我是Android新手,我正在尝试使用UI-Thread,所以我写了一个简单的测试活动.但我认为我误解了一些东西,因为点击按钮 - 应用程序不再响应

public class TestActivity extends Activity {

    Button btn;
    int i = 0;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        btn = (Button)findViewById(R.id.btn);
        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                runThread();
            }
        });
    }

    private void runThread(){
        runOnUiThread (new Thread(new Runnable() {  
            public void run() {
                while(i++ < 1000){
                    btn.setText("#"+i);
                    try {
                        Thread.sleep(300);
                    } 
                    catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                }
             }
        }));
    }
}
Run Code Online (Sandbox Code Playgroud)

android ui-thread

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

Android Studio运行/调试配置错误:未指定模块

我的运行配置中出现"未指定模块"错误.我没有在下拉列表中显示模块但我可以看到我的模块没有probs.问题出现在我重构模块名称时,将settings.gradle更改为新名称.

现在,当我进入项目结构并选择我的模块时,屏幕上没有任何显示,甚至没有错误.

我不是百分百肯定,但我模块旁边的图标看起来像一个带杯子的文件夹而不是带手机的文件夹.

我的确切步骤 -

  1. 在Android视图中打开
  2. 重构目录名称
  3. 重构模块名称
  4. 更改settings.gradle内容:名称为新名称

android module gradle android-studio

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

无符号右移的行为应用于字节变量

考虑以下Java代码片段

byte b=(byte) 0xf1;
byte c=(byte)(b>>4);
byte d=(byte) (b>>>4);
Run Code Online (Sandbox Code Playgroud)

输出:

c=0xff
d=0xff
Run Code Online (Sandbox Code Playgroud)

预期产量:

c=0x0f
Run Code Online (Sandbox Code Playgroud)

怎么样?为b二进制1111 0001 无符号右移之后0000 1111,因此0x0f,但为什么是0xff 怎么了?

java bit-shift

23
推荐指数
2
解决办法
9706
查看次数

如何在Android项目的gradle中更改proguard映射文件名

我有基于gradle的android项目,我想在为我的构建生成后更改mapping.txt文件名.怎么做到呢?

UPD

如何在build.gradle中完成?由于我可以访问我的口味和其他僵硬,我想基于flavor/build变体版本创建映射文件名.

obfuscation android proguard gradle

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

SQL Server 2008行插入和更新时间戳

我需要在SQL Server 2008 R2中的数据库表中添加两列:

  • createTS - 插入行的日期和时间
  • updateTS - 更新行的日期和时间

我有几个问题:

  1. 我应该为每种类型使用哪种列数据类型?
  2. createTS插入行时,只需设置一次.当我尝试datetime此列的类型并添加了默认值或绑定getdate(),列值已适当设置.这是实现本专栏目的的最佳方式吗?我考虑过timestamp数据类型,但在我看来,这几乎是一个误称!
  3. updateTS需要设置更新行的日期和时间.在SQL Server中,没有ON UPDATE CURRENT_TIMESTAMP(如在MySQL中),所以看起来我不得不求助于使用触发器.这是正确的,我将如何做到这一点?

因此,对于想要回答这个问题的人来说,有一个起点,这里是创建表脚本:

CREATE TABLE [dbo].[names]
(
    [name] [nvarchar](64) NOT NULL,
    [createTS] [datetime] NOT NULL CONSTRAINT [DF_names_createTS]  DEFAULT (getdate()),
    [updateTS] [datetime] NOT NULL,
    CONSTRAINT [PK_names] PRIMARY KEY CLUSTERED 
    (
        [name] ASC
    )
    WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON …
Run Code Online (Sandbox Code Playgroud)

sql-server timestamp

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

从片段调用片段

我有一个带有按钮的活动,当点击时我用片段上的另一个按钮调用片段.但是当点击片段的按钮时,我无法调用第二个片段.这是我的来源,非常简单:activity_main.xml:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
tools:context=".MainActivity" >

<Button 
    android:id="@+id/btn_click"
    android:text="Call Fragment"
    android:layout_height="wrap_content"
    android:layout_width="fill_parent"
    android:onClick="onClick"
    />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

fragment1.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#f0f0f0"
android:orientation="vertical" >

<TextView 
    android:id="@+id/fragment1"
    android:text="Fragment 1"
    android:textSize="25sp"
    android:gravity="center"
    android:layout_height="wrap_content"
    android:layout_width="fill_parent"
    />

<Button 
    android:id="@+id/btn_frag2"
    android:text="Call Fragment 2"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

fragment2.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#f0f0f0"
android:orientation="vertical" >

<TextView 
    android:id="@+id/fragment2"
    android:text="Fragment 2"
    android:textSize="25sp"
    android:gravity="center_vertical|center_horizontal"
    android:layout_height="wrap_content"
    android:layout_width="fill_parent"
    />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

MainActivity.java

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) …
Run Code Online (Sandbox Code Playgroud)

android android-fragments

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

如何更改工具栏子视图的对齐方式

我有一个工具栏,我想ImageView在xml中添加一个布局.我希望它对齐,而不是默认左对齐.

根据文件:

应用程序可能会向工具栏添加任意子视图.它们将出现在布局中的这个位置.如果子视图的Toolbar.LayoutParams指示CENTER_HORIZONTAL的重力值,则在测量完所有其他元素后,视图将尝试以工具栏中剩余的可用空间为中心.

但我不能把重心放在任何东西上.

我的布局

<android.support.v7.widget.Toolbar
    style="@style/ToolbarStyle"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="?attr/colorPrimary"
    android:minHeight="?attr/actionBarSize">

    <ImageView
        android:id="@+id/bluetoothState"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/ic_bluetooth_status_white"
        android:contentDescription="@string/content_description_bluetooth_status"
        android:padding="8dp"/>
</android.support.v7.widget.Toolbar>
Run Code Online (Sandbox Code Playgroud)

默认对齐

android android-layout android-toolbar

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

如何在android中将数字转换为货币格式

我希望以货币格式显示我的数字,并将数字分开,如下例所示:

1000 -----> 1,000

10000 -----> 10,000

100000 -----> 100,000

1000000 -----> 1,000,000

谢谢

android

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

SQLite pragma命令中的Android Studio标记错误,<pragma value> expected,'ON'

我认为这是自切换到Android Studio 3.0以来的一个新错误.我收到一个lint语法错误:

<pragma value> expected, got 'ON'

我只在以下两种方法中的第一种方法中得到此错误:

private static void setForeignKeyConstraintsEnabled(@NonNull SQLiteDatabase db) {
    if (!db.isReadOnly()) {
        db.execSQL("PRAGMA foreign_keys=ON;");
    }
}

private static void setForeignKeyConstraintsDisabled(@NonNull SQLiteDatabase db) {
    if (!db.isReadOnly()) {
        db.execSQL("PRAGMA foreign_keys=OFF;");
    }
}
Run Code Online (Sandbox Code Playgroud)

带有下划线错误的编辑器文本的屏幕截图

在写作时我只在互联网上找到了一个建议的修复程序.它是德语,并说我不应该为pragma使用常量字符串,但应该使用字符串参数.

String query = String.format ("PRAGMA foreign_keys = %s","ON"); 
db.execSQL(query); 
Run Code Online (Sandbox Code Playgroud)

但我怀疑如果这样可以消除错误,它只会使代码过于复杂而无法检测到lint规则.

为什么ON会抛出错误而不是OFF?我的语法错了吗?

sqlite android android-studio android-studio-3.0

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