我试图将Bitmap传递给另一个Activity,我正在使用其他Activity显示相同的图像ImageView.这就是我通过Bitmap的方式.
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK && requestCode == CAMERA_RESULT) {
File out = new File(getFilesDir(), "newImage.jpg");
if(!out.exists()) {
Toast.makeText(getBaseContext(),
"Error while capturing image", Toast.LENGTH_LONG)
.show();
return;
}
Bitmap mBitmap = BitmapFactory.decodeFile(out.getAbsolutePath());
Intent bitIntent = new Intent(this, CameraTake.class);
bitIntent.putExtra("BitmapImage", mBitmap);
startActivity(bitIntent);
Run Code Online (Sandbox Code Playgroud)
这就是我收到价值的方式:
Intent intent = getIntent();
bitmap= (Bitmap)intent.getParcelableExtra("BitmapImage");
ImageView im1 = (ImageView)findViewById(R.id.camOut);
im1.setImageBitmap(bitmap);
Run Code Online (Sandbox Code Playgroud)
在运行App时,这里是我获得的logcat:
> 10-17 08:32:11.241 16762-16762/obx.com.futurister E/AndroidRuntime? FATAL EXCEPTION: main …Run Code Online (Sandbox Code Playgroud) 关于如何__CODE__在Android中使用并使用它有很多答案.
然而,由于__CODE__是已经上市,它管理的Android项目的构建过程,并支持复杂的场景中创建Android应用程序,如__CODE__和__CODE__,
Android Studio中的角色究竟是什么__CODE__?
而如何是从不同__CODE__?
我在某些设备上遇到了非常奇怪的情况(Nexus 5x与Android 7):当我清理数据并卸载它,然后用Studio安装时,应用程序不是单元化的,但它使用的是1月24日的数据!我尝试使用平板电脑进行相同的操作,但应用程序没有数据.
我已经多次重复这个过程,我清理了我的项目,重建了多次,它始终以24th january数据(数据库和共享首选项)开始.
我甚至尝试过adb shell并运行以清理数据:
bullhead:/data/data/lelisoft.com.lelimath.debug $ ls -l databases/
total 232
-rw-rw---- 1 u0_a259 u0_a259 98304 2017-02-05 11:03 lelimath.sqlite
-rw------- 1 u0_a259 u0_a259 16928 2017-02-05 11:03 lelimath.sqlite-journal
Run Code Online (Sandbox Code Playgroud)
我删除了它们,应用程序似乎是空的 - 直到我删除它并再次安装 - 1月24日又回来了.
这是一个如何开始的日志:
$ adb shell am start -n "lelisoft.com.lelimath.debug/lelisoft.com.lelimath.activities.DashboardActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER -D
Waiting for application to come online: lelisoft.com.lelimath.debug | lelisoft.com.lelimath.debug.test
I/InstantRun: Instant Run Runtime started. Android package is lelisoft.com.lelimath.debug, real application class is lelisoft.com.lelimath.helpers.LeliMathApp.
D/l.c.l.h.LeliMathApp: onCreate()
D/l.c.l.h.BalanceHelper: Current points balance: 234
Run Code Online (Sandbox Code Playgroud)
这是从调试器获取的数据库的位置:
/data/user/0/lelisoft.com.lelimath.debug/databases/lelimath.sqlite …Run Code Online (Sandbox Code Playgroud) 我正在尝试从Android拨打电话,我也设置了运行时权限.它询问是否允许拨打电话.但是当我按下允许时,应用程序崩溃了:
这是我实现它的方式:
private static final int REQUEST_PHONE_CALL = 1;
Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + "+918511812660"));
if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
if (ContextCompat.checkSelfPermission(MainActivity.this, Manifest.permission.CALL_PHONE) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(MainActivity.this, new String[]{Manifest.permission.CALL_PHONE},REQUEST_PHONE_CALL);
}
else
{
startActivity(intent);
}
}
else
{
startActivity(intent);
}
Run Code Online (Sandbox Code Playgroud)
@Override
public void onRequestPermissionsResult(int requestCode,
String permissions[], int[] grantResults) {
switch (requestCode) {
case REQUEST_PHONE_CALL: {
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
startActivity(intent);
}
else
{
}
return;
}
}
}
Run Code Online (Sandbox Code Playgroud)
这是我在logcat中获得的:
java.lang.RuntimeException: Failure delivering result …Run Code Online (Sandbox Code Playgroud) 尝试从中加载一个类Parse,但是一旦我启动它,应用程序就会崩溃!这是代码:
ListView listview;
List<ParseObject> ob;
ProgressDialog mProgressDialog;
ArrayAdapter<String> adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_big_board);
new RemoteDataTask().execute();
}
private class RemoteDataTask extends AsyncTask<Void, Void, Void> {
@Override
protected void onPreExecute() {
super.onPreExecute();
mProgressDialog = new ProgressDialog(BigBoard.this);
mProgressDialog.setTitle("Parse.com Simple ListView Tutorial");
mProgressDialog.setMessage("Loading...");
mProgressDialog.setIndeterminate(false);
mProgressDialog.show();
}
@Override
protected Void doInBackground(Void... params) {
// Locate the class table named "Country" in Parse.com
ParseQuery<ParseObject> query = new ParseQuery<ParseObject>(
"Country");
query.orderByDescending("_created_at");
try {
ob = query.find();
} catch (ParseException e) { …Run Code Online (Sandbox Code Playgroud) 开发人员doc:在运行时请求权限明确提到了运行时权限以及如何使用它.我也能够执行它们.
但问题是:Android在哪里存储运行时权限值?
即,当用户删除与应用程序关联的数据时,权限会重置,那么Android在哪里存储这些值?(它是在应用缓存中还是在任何其他位置).以什么格式?(它是数据库还是共享首选项文件还是其他任何文件)它们是如何存储的?(加密或未加密).
在许多现有答案和开发人员文档中搜索,但在这方面找不到任何有用的信息.任何帮助都感激不尽.
android android-manifest android-permissions runtime-permissions
我RecyclerView正在填充从网络加载的图像。我能够使用AsyncTask我的适配器内部加载图像。但是,因为我需要用毕加索来实现它,所以我需要帮助。这是到目前为止的代码:
public class CustomAdapter extends RecyclerView.Adapter<CustomAdapter.MovieViewHolder>
{
Bitmap mBitmap;
int pos;
public static class MovieViewHolder extends RecyclerView.ViewHolder
{
CardView cv;
TextView MovieName;
ImageView MoviePhoto;
MovieViewHolder(View itemView) {
super(itemView);
cv = (CardView)itemView.findViewById(R.id.cv);
MovieName = (TextView)itemView.findViewById(R.id.movie_name);
MoviePhoto = (ImageView)itemView.findViewById(R.id.movie_photo);
}
}
List<Post> mpost;
CustomAdapter(List<Post> mpost){
this.mpost = mpost;
}
@Override
public void onAttachedToRecyclerView(RecyclerView recyclerView) {
super.onAttachedToRecyclerView(recyclerView);
}
@Override
public MovieViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) {
View v = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.item, viewGroup, false);
MovieViewHolder pvh = new MovieViewHolder(v);
return pvh; …Run Code Online (Sandbox Code Playgroud) 我需要在我的请求的标题中添加一个Base64字符串.现在我的base64字符串是mobileNum+ pin.这就是我生成编码字符串的方式:
public static String getAuthentication(String userName,String spin)
{
String userCredentials = userName+":"+spin;
String base64=null;
try
{
byte[] data = userCredentials.getBytes("UTF-8");
base64 = Base64.encodeToString(data, Base64.DEFAULT);
}
catch (UnsupportedEncodingException e){}
String basicAuth = "Basic "+ new String(base64);
return basicAuth;
}
Run Code Online (Sandbox Code Playgroud)
而且,现在当我尝试从Ok-HTTP发出请求时,
Request request = new Request.Builder()
.url(url+sp.getString("MOB",""))
.get()
.addHeader("xkey", ""+Auth.getApiKey())
.addHeader("authorization",""+Auth.getAuthentication(sp.getString("MOB",""),sp.getString("SPIN","")))
.addHeader("cache-control", "no-cache")
.build();
Run Code Online (Sandbox Code Playgroud)
抛出异常,说:
java.lang.IllegalArgumentException: Unexpected char 0x0a at 30 in authorization value: Basic OTE4MTExODExNjYwOjEyMzQ=
at okhttp3.Headers$Builder.checkNameAndValue(Headers.java:320)
at okhttp3.Headers$Builder.add(Headers.java:270)
at okhttp3.Request$Builder.addHeader(Request.java:175)
at com.shreybank.shrey.activities.RegisterActivity.getCredentials(RegisterActivity.java:244)
at com.shreybank.shrey.activities.RegisterActivity.access$900(RegisterActivity.java:38)
at com.shreybank.shrey.activities.RegisterActivity$4.onResponse(RegisterActivity.java:229) …Run Code Online (Sandbox Code Playgroud) 我想显示整个下载中的目录ListView中的Activity。但是,该应用有时会运行,而其他时间会崩溃并显示一条日志:
E / JavaBinder:!!!绑定交易失败!!!(包裹大小= 420)java.lang.RuntimeException:在android.view的android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:310)的android.view.ViewRootImpl.setView(ViewRootImpl.java:543)处添加窗口失败。 android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3169)上的WindowManagerImpl.addView(WindowManagerImpl.java:85)android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)处com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:726)处调用(本机方法)由android。 os.DeadObjectException:小宗包裹交易失败;远程进程可能在android.view的android.os.BinderProxy.transact(Binder.java:503)的android.os.BinderProxy.transactNative(Native Method)处死了。
这是同一活动的源代码:
public class DownloadsActivity extends AppCompatActivity
{
private ListView listView = null;
//private EditText editText;
private DbAdapter_Files db;
private SimpleCursorAdapter adapter;
private SharedPreferences sharedPref;
//private TextView listBar;
private class_CustomViewPager viewPager;
private int top;
private int index;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_downloads);
sharedPref = PreferenceManager.getDefaultSharedPreferences(this);
sharedPref.edit().putString("files_startFolder",
Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS).getAbsolutePath()).apply();
//editText = (EditText) getActivity().findViewById(R.id.editText);
//listBar = (TextView)findViewById(R.id.listBar);
listView = (ListView)findViewById(R.id.listDownloads);
//viewPager = (class_CustomViewPager) getActivity().findViewById(R.id.viewpager);
//calling …Run Code Online (Sandbox Code Playgroud) 可以嵌套的LinearLayouts的最大数量是多少?它是无限的,还是Android-studio强调的限制?或者该设备是否依赖?