我大部分时间都可以在手机上运行和调试我的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)
adb kill-server && adb start-server):没有错误,没有帮助.我是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) 我的运行配置中出现"未指定模块"错误.我没有在下拉列表中显示模块但我可以看到我的模块没有probs.问题出现在我重构模块名称时,将settings.gradle更改为新名称.
现在,当我进入项目结构并选择我的模块时,屏幕上没有任何显示,甚至没有错误.
我不是百分百肯定,但我模块旁边的图标看起来像一个带杯子的文件夹而不是带手机的文件夹.
我的确切步骤 -
考虑以下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 怎么了?
我有基于gradle的android项目,我想在为我的构建生成后更改mapping.txt文件名.怎么做到呢?
UPD
如何在build.gradle中完成?由于我可以访问我的口味和其他僵硬,我想基于flavor/build变体版本创建映射文件名.
我需要在SQL Server 2008 R2中的数据库表中添加两列:
我有几个问题:
createTS插入行时,只需设置一次.当我尝试datetime此列的类型并添加了默认值或绑定时getdate(),列值已适当设置.这是实现本专栏目的的最佳方式吗?我考虑过timestamp数据类型,但在我看来,这几乎是一个误称!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) 我有一个带有按钮的活动,当点击时我用片段上的另一个按钮调用片段.但是当点击片段的按钮时,我无法调用第二个片段.这是我的来源,非常简单: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) 我有一个工具栏,我想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)

我希望以货币格式显示我的数字,并将数字分开,如下例所示:
1000 -----> 1,000
10000 -----> 10,000
100000 -----> 100,000
1000000 -----> 1,000,000
谢谢
我认为这是自切换到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?我的语法错了吗?