在我的应用程序中,我正在使用Pull TO Refresh列表视图库.我分别为所有屏幕设计了布局.当我在我的项目上运行lint时,在我的xlarge屏幕的一个布局文件中,它给了我致命的错误:
在项目或库中找不到布局文件中引用的类com.handmark.pulltorefresh.library.PullToRefreshListView
在其他屏幕的相同布局文件中,它完全没有错误.另外,我在我的文件的其他布局中使用了相同的库,它没有给出任何错误.它也为Google Mapsapi 提供了相同的错误.我的项目目标是Google Api 16级,我已经检查过,所有库都添加到了它.但是,即使在清洁项目上,错误也不会消失.
我正在使用相机意图在我的应用程序中捕获图像.我的应用程序在Android 5.0.2使用相机时崩溃的问题.我正在使用片段的意图.下面是我片段内的代码:
拍照的方法
private void takePhoto() {
mHighQualityImageUri = Util.generateTimeStampPhotoFileUri(getActivity());
Log.d(UploadPicturesFragment.class.getSimpleName(),
"URI: " + mHighQualityImageUri.toString());
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, mHighQualityImageUri);
startActivityForResult(intent, REQUEST_IMAGE_CAPTURE);
}
Run Code Online (Sandbox Code Playgroud)
我片段中的onActivityResult
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode != Activity.RESULT_OK) {
return;
}
if (requestCode == REQUEST_IMAGE_CAPTURE) {
Log.d(UploadPicturesFragment.class.getSimpleName(),
"IMAGE URI NOT NULL: " + (mHighQualityImageUri == null));
try {
Bitmap bitmap = MediaStore.Images.Media.getBitmap(getActivity().getContentResolver(),
mHighQualityImageUri);
DroomUtil.beginCrop(mHighQualityImageUri, getActivity(), this, true, bitmap.getWidth(),
bitmap.getHeight());
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch …Run Code Online (Sandbox Code Playgroud) 有没有办法将android.graphics.Bitmap实例转换为android中的jpeg?
在我的应用程序中,我在文本视图中显示时间为07:00 PM.单击文本视图时,会弹出一个时间选择器对话框,在该时间选择器中,我必须显示与textview中显示的内容完全相同的时间.但是,我没有得到如何做到这一点.
码
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm a");
//int hr = 0;
Date date = null;
try
{
date = sdf.parse(resDateArray[3]);
}
catch (ParseException e) {
e.printStackTrace();
}
final Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
//tp is reference variable for time picker
tp.setCurrentHour(calendar.get(Calendar.HOUR));
tp.setCurrentMinute(calendar.get(Calendar.MINUTE));
}//else
Run Code Online (Sandbox Code Playgroud) 发现很多关于我的问题的帖子,但没有一个对我有用.我有一个片段,我必须startActivityForResult()在textview点击调用.从那里开始,将打开一个活动,用户将填写一些数据并将其提交给数据库.从那里,我必须传递包含结果代码的意图.但是片段中的onActivityResult()不会被调用.
我片段中的代码
Intent in = new Intent(getActivity(), NetBarrelActivity.class);
in.putExtra(AppUtility.ORDER_ID, orderDAO.getOrderNum());
in.putExtra(AppUtility.TICKET_ID, 2);
startActivityForResult(in, AppUtility.REQUEST_CODE);
Run Code Online (Sandbox Code Playgroud)
我的活动代码
Double NetBarrels = crudeNetCalculator(GrossBarrels,
ProductObsTemp, ProductObsGravity, ProductBSW);
db.updateTank(OrderID, TicketTypeID, CarrierTicketNum,
TankNum, TankTypeID, ProductObsTemp,
ProductObsGravity, ProductBSW, GrossBarrels,
NetBarrels);
Intent in = new Intent();
setResult(RESULT_OK, in);
finish();
Run Code Online (Sandbox Code Playgroud)
片段中的onActivityResult:
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
Log.d(TAG, "onActivityReslt called");
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode) {
case AppUtility.REQUEST_CODE:
if(resultCode == Activity.RESULT_OK){
if (mOrdersDAO.getTicketType().equals(AppUtility.NET_BARREL)) {
ArrayList<OrderTicketsDao> mOrderTicketsDaos = dbHandler
.getOrderTicket(mOrdersDAO.getOrderNum());
if (mOrderTicketsDaos != null && …Run Code Online (Sandbox Code Playgroud) 在我的应用程序中,我以JSON的形式从服务器获取数据.数据大约为1.5 MB.该应用程序可以工作,但有时它会在从服务器获取OutOfMemoryError的数据时崩溃.
这是我的方法:
private String sendPostRequest(String url, List<NameValuePair> params)
throws Exception {
String ret = null;
BufferedReader bufferedReader = null;
HttpClient httpClient = new DefaultHttpClient();
HttpPost request = new HttpPost(url);
try {
UrlEncodedFormEntity entity = new UrlEncodedFormEntity(params);
request.setEntity(entity);
HttpResponse response = httpClient.execute(request);
bufferedReader = new BufferedReader(new InputStreamReader(response
.getEntity().getContent()));
StringBuilder stringBuilder = new StringBuilder("");
StringBuilder stringBuilder2;
String line = "";
//String LineSeparator = System.getProperty("line.separator");
while ((line = bufferedReader.readLine()) != null) {
stringBuilder.append(line);
}
bufferedReader.close();
ret = stringBuilder.toString();
stringBuilder = null;
} …Run Code Online (Sandbox Code Playgroud) 我打算GreenDAO在我的项目中使用.我已经通过创建测试项目来测试它.但是,我有几个要求,我需要完成.
我的应用程序的数据库将被加密.为此,我们计划使用SQLCipher.我找到了这个链接.我正在研究它,但有兴趣知道原始的GreenDAO项目有什么可用.
由于我的应用程序将数据与服务器同步,我将使用SyncAdapter,因为我不想自己完成所有的重量级操作,这已经由Android框架完成.但它需要Content Provider合作.那么,我如何使用GreenDAO Content Provider.
更新2
我的项目有七个实体.我用过addContentProvider()实体.并生成七个不同的内容提供商.有没有办法在单个内容提供商中拥有所有sqlite表?
我通过扩展为我的应用创建了一个自定义视图RelativeLayout.dialog通过拖动来打开它ImageView.它有EditTexts和Buttons.onKeyDown 因为我需要从这个视图中截取后退按钮,所以我在我的视图中重写.如果自定义视图可见,则edittext未获得焦点,如果按下后退按钮,则视图将被取消,这是所需的.
出现问题,当edittext获得焦点,键盘可见时,按下后退按钮,软键盘被解除,但如果我再次按下后退按钮,然后super.onKeyDown()调用而不是解除自定义视图,我退出我的应用程序,其中所需功能是在解除软键盘后关闭视图.我究竟做错了什么?
以下是我的自定义视图代码:
public class AddTransactionView extends RelativeLayout implements View.OnClickListener {
private final String TAG = "AddTransactionView";
private Context context;
private ViewGroup parentView;
private FriendsDAO mFriendsDAO;
private AppPreference mAppPreference;
private ImageLoader imageLoader;
private DisplayImageOptions options;
private CircularImageView friendsImage;
private Button btnIOwe, btnTheyOwe;
private EditText edtTransactionDesc, edtTransactionAmt;
private RelativeLayout relAddTransaction;
private int status;
public AddTransactionView(Context context, View anchorView, int marginTop,
ViewGroup parentView, FriendsDAO mFriendsDAO) {
super(context);
Log.e(TAG, …Run Code Online (Sandbox Code Playgroud) 我Volley在我的项目中用于处理网络请求.这是JSON我的服务器返回的示例
JSON对象响应
{"code":"success", "data":{"some data"}}
Run Code Online (Sandbox Code Playgroud)
JSON数组响应
{"code":"success", "data":["some data"]}
Run Code Online (Sandbox Code Playgroud)
发生某些验证错误或任何其他错误时,服务器返回以下响应:
{"code":"failed", "error":"Access denied"}
Run Code Online (Sandbox Code Playgroud)
问题在于解析数据.当请求成功onResponse时ResponseListener,我只需获取data密钥的内容.在哪里,我期待的结果与我上面发布的相同.我不知道为什么Volley只返回内容data而不是完整内容JSON.我Volley之前也用过.但从未遇到过这类问题.
解析代码:
private void getOnboardingCategories() {
Response.Listener<JSONArray> responseListener = new Response.Listener<JSONArray>() {
@Override
public void onResponse(JSONArray response) {
Log.d(LOG_TAG, "CATEGORY RESPONSE: " + response.toString());
if (response != null) {
int dataLength = response.length();
for (int i = 0; i < dataLength; i++) {
JSONObject jObject = response.optJSONObject(i);
if (jObject …Run Code Online (Sandbox Code Playgroud) 我是回收者视图的新手.我的要求如下: - 我必须调用一个将提供两个数组的Web服务.一个有我需要在列表中显示的数据.为此目的,我正在使用RecyclerView.另一个数组是状态,我在spinner中显示.此Web服务是分页的.我添加了分页,它工作正常. - 当用户从微调器中选择一些其他元素时,我必须再次进行Web服务调用,并且回收器视图数据应该更改.目前,在分页的情况下,一旦我从连续页面获得更多数据,我正在进行跟踪:
mAccountListingsAdapter.notifyItemRangeInserted(mAccountListingsAdapter.getItemCount(), mListings.size() - 1);
Run Code Online (Sandbox Code Playgroud)
而且,当我从微调器更改数据时,我正在做以下事情:
mListings.clear();//Clear the data set
mAccountListingsAdapter.notifyDataSetChanged();//Call notify data set changed on recycler view adapter
getAccountListings();//Fetch new data from the web service and display in recycler view
Run Code Online (Sandbox Code Playgroud)
但是,建议不要直接在recycler视图适配器上调用notifyDataSetChanged(),而应调用特定的notifyXXX方法,以避免性能和动画问题.
所以,我有疑问,如果我正确地通知onItemSelected()微调器中的recycleler视图适配器,或者它应该被更改.
PS我试过以下onItemSelected:
int size = mListings.size();
mListings.clear();
mAccountListingsAdapter.notifyItemRangeRemoved(0, size - 1);
Run Code Online (Sandbox Code Playgroud)
但随后它崩溃了,但有以下例外:
03-02 12:59:41.046: E/AndroidRuntime(4270): java.lang.IndexOutOfBoundsException: Inconsistency detected. Invalid item position 4(offset:0).state:5
Run Code Online (Sandbox Code Playgroud)