使用SQLite,得到一个包含~10列的表.Theres~2500万行.
该表在'sid,uid,area,type'上有一个INDEX.
我像这样运行一个选择:
SELECT sid from actions where uid=1234 and area=1 and type=2
Run Code Online (Sandbox Code Playgroud)
这将返回1571结果,并需要4分钟才能完成.
这样理智吗?
我远非SQL专家,所以希望有人可以填补我所缺少的内容.为什么这可能需要4分钟以上的所有索引?
有关实现高SQL性能的任何推荐资源吗?我觉得很多谷歌的结果只是给我意见或轶事,我不介意一本坚实的书.
好的,我之前能够找到一个计时器,但现在我遇到了另一个问题
所以,当我调用这个名为"getNextQuote();"的函数时 第一次在onCreate()中它更新并获得一个随机引用并完美地显示它,但是,当我再次尝试时,在onResume()中,由于某种原因它不会刷新.
public void getNextQuote(){
TextView tv = (TextView) findViewById(R.id.quote);//Text To be edited
Random QuoteNum = new Random();
int Quote = QuoteNum.nextInt(50);
android.util.Log.i("DebugB",""+Quote);
String q = myString[Quote];//find which string is corresponding to the number
tv.setText(q);//Set the Text
android.util.Log.i("DebugC",q);
}
Run Code Online (Sandbox Code Playgroud)
什么明显我错过了??? 在日志中,新的引号就像应该的那样出现,但它们只是没有被吸引到实际的模拟器屏幕.
我正在加载一个Java属性文件,看起来像:
transfer_detail = Transfer {0} from {1} to {2} on {3}
Run Code Online (Sandbox Code Playgroud)
解析该属性后,我应该看到如下所示的String:
Transfer 200.30 from Debit Account to Credit Account on 2011/01/26
Run Code Online (Sandbox Code Playgroud)
我实现了我自己的解析器,看起来像:
// simplified for brevity
private static String translate(String string, String... replacements){
String result = string;
for(int i = 0; i < replacements.length; i++){
result = result.replace("{"+i+"}", replacements[i]);
}
return result;
}
// and I use it this way:
String result = translate("transaction", "200.30", "Debit Account", etc...);
Run Code Online (Sandbox Code Playgroud)
我一直在想的是,如果在J2SE API中有这样做的话.即使对于像这样的简单事情,我也不喜欢重新发明轮子.你知道其他更简单或更清洁的方法吗?
我正在使用Appcelerator的Titanium来开发Android应用程序.当焦点出现在EditText之一(在页面的下端)时,键盘会覆盖EditText,所以当我键入文本时,我看不到被键入的内容.我有什么选择?
我正在尝试在选择首选项时显示进度消息:
Preference prefLocation = (Preference) findPreference("location");
prefLocation.setOnPreferenceClickListener(new OnPreferenceClickListener() {
public boolean onPreferenceClick(Preference preference) {
ProgressDialog pDialog = ProgressDialog.show(this, "Location" , "Finding location...", true);
return true;
}
});
Run Code Online (Sandbox Code Playgroud)
但是我在Eclipse中遇到错误:
The method show(Context, CharSequence, CharSequence, boolean) in the type ProgressDialog is not applicable for the arguments (new Preference.OnPreferenceClickListener(){}, String, String, boolean)
Run Code Online (Sandbox Code Playgroud)
但是,当我在setOnPreferenceClickListener之前执行该行时,它编译得很好!
我可能已经揭示了我在Java方面的严重缺乏经验,但是会找到一条线索!
我有一个Listview,它最初列出了一个菜单项中的项目,只有一个TextView.我用来检索所选项目的代码是
menuList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View itemClicked, int position, long id)
{
TextView textView = (TextView) itemClicked;
String strText = textView.getText().toString();
});
Run Code Online (Sandbox Code Playgroud)
我现在添加了另一个TextView,这样我就可以为每个项目提供两个值,而我的menu_item.xml看起来像这样
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal"
android:padding="10sp">
<TextView
android:id="@+id/rowid"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/exhibitor_header" />
<TextView
android:id="@+id/rowidtwo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/listview_background"
android:layout_below="@+id/rowid"/>
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
如何在选择项目时检索rowid的值?
我想创建一个如下图所示的布局.如何使用取消选项设置这样的下拉列表.我正在使用微调器来显示下拉列表,但不能像这样设置布局.

任何人都可以帮我创建这样的下拉列表.我还想为列表项创建一个展开按钮,该按钮将在新页面中打开内容.我的目标是在一个页面中设置所有可用的设置.
标题解释了所有...我在我的应用程序中有这段代码:
String url = createTelUrl("3112007315");
Intent intent = new Intent(Intent.ACTION_CALL);
intent.setData(Uri.parse(url));
context.startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
它会拨打电话,但一旦通话结束,我的应用程序就会崩溃.一旦通话结束,我想回到我的应用程序,但我读了这篇文章,似乎不可能.所以......无论如何,至少暂停我的应用程序并在通话结束后恢复它?
编辑:
感谢我收到的两个答案,我觉得我真的很接近我的目标......我已经做了一些你们建议的事情.但是,也许我没有解释应用程序的一些细节...我正在开发谁想成为Millonarie游戏,所以我需要实现调用(我不知道它在美国或其他国家如何调用,但是在这里我们称之为"给朋友打电话").
无论如何......我对这个应用做了太多改动,现在它没有崩溃.但是,一旦调用结束,我绘制UI的Canvas就不会被显示出来.
我有一个SurfaceView拥有UI.为此,SurfaceView我创建了一个用于刷新UI的线程......这基本上是线程的作用:
@Override
public void run() {
Canvas c;
while (_run) {
c = null;
try {
c = _surfaceHolder.lockCanvas(null);
// Check if should wait
synchronized (_surfaceHolder) {
_panel.onDraw(c);
}
} finally {
// do this in a finally so that if an exception is thrown
// during the above, we don't leave the Surface in an …Run Code Online (Sandbox Code Playgroud) 如何从应用程序启动器中排除应用程序.下面的代码用于添加到启动器,但是当我将其排除时,启动器仍然会出现.
<activity android:name=".Application" android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
Run Code Online (Sandbox Code Playgroud) 我尝试将网格视图添加到自定义对话框.显示对话框时,它会崩溃.
但是当尝试在正常活动中显示网格视图时它正在工作.(没有对话框)
我从开发人员android网站上获取了示例.勾选网格视图并尝试集成到自定义对话框中.
我使用了两个xml main.xml和category.xml.
这是我的代码:
package com.android.test;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.Context;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.GridView;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
import android.widget.AdapterView.OnItemClickListener;
public class test extends Activity {
/** Called when the activity is first created. */
public final static int CATEGORY_ID=0;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button button = (Button)findViewById(R.id.categories);
button.setOnClickListener(new Button.OnClickListener(){
public void onClick(View v) { …Run Code Online (Sandbox Code Playgroud)