我通过扩展SQLiteOpenHelper
类创建了一个数据库.它也创造了.这是我正在粘贴的代码
public Imagehelper(Context context) {
super(context, DATABASE_NAME, null, SCHEMA_VERSION);
cntxt = context;
filename = Environment.getExternalStorageDirectory();
DATABASE_FILE_PATH_EXTERNAL = filename.getAbsolutePath()+File.separator+DATABASE_NAME;
Log.i("Log", ":"+DATABASE_FILE_PATH_EXTERNAL);
}
Run Code Online (Sandbox Code Playgroud)
这里一切都很好.但是如果你专注于超级超级参数传递(context,DATABASE_NAME,null,SCHEMA_VERSION); .我无法理解null参数.我知道我们必须传递SQLiteDatabase.CursorFactory对象.
但是怎么样?那有什么用?
可能大多数Android开发者都知道这findViewById
不是一个廉价的操作.我们大多数人都知道的另一件事是,您可以通过使用视图层次结构的最小子树来查找其ID的视图,从而提高性能,例如:
<LinearLayout
android:id="@+id/some_id_0">
<LinearLayout
android:id="@+id/some_id_1">
<LinearLayout
android:id="@+id/some_id_2">
<TextView android:id="@+id/textview" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
在这种情况下,你可能希望在搜索LinearLayout
与id == @id/textview
但是,如果层次结构不是级联,而是在每个级别上进行分支,并且您想要在"叶子"上找到视图,那么会发生什么情况呢?您是findViewById
通过寻找父母来执行到达分支的底部,还是findViewById
在更大的子集上执行?我认为一个简单的答案是它取决于具体情况,但也许我们可以概括一下它真正依赖的东西?
谢谢
通过更大的子集,我的意思是这样的:
<RelativeLayout android:id="@+id/r0">
<RelativeLayout
android:id="@+id/r1">
<LinearLayout
android:id="@+id/some_id_0">
<LinearLayout
android:id="@+id/some_id_1">
<LinearLayout
android:id="@+id/some_id_2">
<TextView android:id="@+id/textview0" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
<LinearLayout
android:id="@+id/some_id_3">
<LinearLayout
android:id="@+id/some_id_4">
<LinearLayout
android:id="@+id/some_id_5">
<TextView android:id="@+id/textview1" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
</RelativeLayout>
<LinearLayout
android:id="@+id/some_id_6">
<LinearLayout
android:id="@+id/some_id_7">
<LinearLayout
android:id="@+id/some_id_8">
<TextView android:id="@+id/textview2" />
<TextView android:id="@+id/textview3" />
<TextView android:id="@+id/textview4" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
所以现在的问题是,如果我想findViewById
在 …
我使用以下两种方法,但不适用于12 mb的大数据
char[] chars = new char[1024];
int len;
while((len=buffer.read(chars))>0) {
data.append(chars,0,len);
}
Run Code Online (Sandbox Code Playgroud)
和
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}
Run Code Online (Sandbox Code Playgroud) 我的问题是创建LayoutInflater
实例的最佳方法是什么?两者之间有什么区别吗?
LayoutInflater inflater = LayoutInflater.from(context);
Run Code Online (Sandbox Code Playgroud)
和
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
Run Code Online (Sandbox Code Playgroud)
哪个更好的解决方案?其他解决方案也欢迎.
谢谢.
在我的Android应用程序中,我有一个WebView
基本的浏览功能.我的问题是,如果用户开始播放Flash视频,我想以某种方式得到通知.我试图WebViewClient
在我的webView上设置一个,并监视onLoadResource
方法中的URL ,但它不起作用.我的问题如下:是否有可能发现这种事件,如果是,怎么样?
谢谢.
我的问题是我必须解析HTML
数据
84 101 <br>some text<br><table border='1'>Here comes a table definition</table>
Run Code Online (Sandbox Code Playgroud)
并且XmlPullParserException
抛出以下内容:
while (eventType != XmlPullParser.END_DOCUMENT) {
if (eventType == XmlPullParser.START_TAG) {
// do something
} else if (eventType == XmlPullParser.END_TAG) {
// do something else
}
eventType = xpp.next(); // the XmlPullParserException is thrown here, on method next()
}
Run Code Online (Sandbox Code Playgroud)
非常有趣和奇怪的部分是这样的:仅在Nexus S(OS版本4.0.4)上抛出异常,在具有较低OS版本的设备上,此方法运行良好.
错误消息如下:
org.xmlpull.v1.XmlPullParserException: Unexpected token (position:TEXT 84 101 @1:8 in java.io.StringReader@414e3248)
Run Code Online (Sandbox Code Playgroud)
任何人都可以解释我为什么只在ICS上发生这种情况?谢谢.
android xmlpullparser xml-parsing android-4.0-ice-cream-sandwich
我正在尝试使用AsyncTask
服务器进行自动完成.我在这里分享了我的代码.
这是我的代码AutocompleteTextwatcher
:
AutoCompleteTextView textView = (AutoCompleteTextView) findViewById(R.id.mainautocomplete);
textView.addTextChangedListener(new TextWatcher() {
@Override
public void afterTextChanged(Editable editable) {
}
@Override
public void beforeTextChanged(CharSequence charSequence, int arg1, int arg2, int arg3) {
}
@Override
public void onTextChanged(CharSequence charSequence, int start, int before, int count) {
String text=charSequence.toString();
if (text.length() > 3) {
MyAsyncTask myTask = new MyAsyncTask();
try {
ArrayList<String> adapterList = new ArrayList<String>();
adapterList=myTask.execute(url).get();/*My Web service url*/
if(!adapterList.isEmpty()){
Log.v("ADPTER LIST",adapterList.toString());
adapter = new ArrayAdapter<String>(getApplicationContext(), R.layout.list_item, adapterList);
textView.setAdapter(adapter);
}else{ …
Run Code Online (Sandbox Code Playgroud) 我创建了一个Dynamic LinearLayout,我想将这些布局添加到ListView.代码如下:
DynamicLayout代码:
import android.content.Context;
import android.widget.LinearLayout;
import android.widget.TextView;
public class DynamicContentLayout extends LinearLayout{
private Context context;
private int linearLayoutMargin;
public DynamicContentLayout(Context context) {
super(context);
this.context = context;
linearLayoutMargin = (int) context.getResources().getDimension(R.dimen.xlarge_margin_padding_fixed);
initViews();
}
private void initViews() {
LinearLayout.LayoutParams layout_lp = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
layout_lp.setMargins(linearLayoutMargin, linearLayoutMargin, linearLayoutMargin, linearLayoutMargin);
this.setLayoutParams(layout_lp);
this.setOrientation(LinearLayout.VERTICAL);
this.addView(headerTitle("My Text"));
}
private TextView headerTitle(String title) {
TextView txtView = new TextView(context);
txtView.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));
txtView.setPadding(6, 6, 6, 6);
txtView.setText(title);
txtView.setBackgroundColor(context.getResources().getColor(R.color.red));
txtView.setTextColor(context.getResources().getColor(R.color.white));
return txtView;
}
}
Run Code Online (Sandbox Code Playgroud)
ListAdpaterCode:
import java.util.ArrayList; …
Run Code Online (Sandbox Code Playgroud) 我想知道如何将一个ListView
元素滑出来slide
,就像你可以slide
从通知栏中通知一样Android
.这是我的情况:
我有一个项目列表,当用户想要从该列表中删除项目时,她只需将元素滑向屏幕边缘.我希望这个幻灯片是可见的,例如使用某种类型的动画,这些动画可以在拿出View
项目时滑出.
以下是一些图片来说明这一点.
首先,这是通知的正常状态.
然后,这是在滑出期间
谢谢.
android android-animation android-listview android-notifications
我必须解决以下几个:我有一个Activity
它的android:screenOrientation="portrait"
.即使当设备在Activity
可见时旋转到横向时,我必须启动另一个设备,并且当设备旋转回纵向时,我必须进行finish()
横向活动.我尝试用a执行此操作BroadcastReceiver
,但是这个特殊活动因为没有收到任何广播android:screenOrientation="portrait"
.任何帮助都非常感谢.
谢谢.
android ×10
android-4.0-ice-cream-sandwich ×2
dynamic ×1
findviewbyid ×1
heap-memory ×1
large-files ×1
layout ×1
listview ×1
performance ×1
sqlite ×1
xml-parsing ×1