我是iOS开发的新手,只是研究适应性和布局我有点困惑,
根据文档
iOS定义了两个大小类:
通过其他参考:
但是对于iPhone 6 Plus,它具有紧凑的高度和横向的规则宽度.
我的困惑是:
在此先感谢!,热烈欢迎编辑!
我知道它在技术上到目前为止不会对开发产生影响但我只想让我的脑海中清楚这些事情.
我正在开发一个Android应用程序,它将Base64
图像的字符串上传到Web服务器.因此,我使用以下代码将Bitmap转换为Base64
String.
public String getEncoded64ImageStringFromBitmap(Bitmap bitmap) {
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.PNG, 100, stream);
byte[] byteFormat = stream.toByteArray();
String imgString = Base64.encodeToString(byteFormat, Base64.NO_WRAP);
return imgString;
}
Run Code Online (Sandbox Code Playgroud)
例如,我需要转换此图像.转换后,我没有Base64
像我预期的那样得到String.
iVBORw0KGgoAAAANSUhEUgAAAIcAAAB7CAYAAABet5NoAAAABHNCSVQICAgIfAhkiAAAB/FJREFUeJzt3U1a4lgXB/D/uVQps3IBNuoKZEg56fQKml6BqRU0NdDXITWrBwbtDhp3oDuAicUQVoBYLkBmSndy3gHEDkgggZvkJjm/kR8hXPP8Pbk55IOQkJHVOCi97lnMqBJxFUwHAH4NWp6AMQMPAB4YeFBQ3V/637tJjTcuT2cXVYfJUqBjZq4CqAL4tOFlPRA/M9Mgye1Aca786eyiyqxsZrYAnGpabY8Jty6r25P+9wdN64zV4+fLOhh1AHVsDkJYsW8H7eEY1a6OFVxbATYDR7rXv6QHcKfSb3difp/IRrWr4xLcJvQGYjXiO4A6lR+tW62r1bUi38Y417XOsGa7IG6aEJKftSuLZ9shcJcZF93bYedwjKzGwYfX/SYz/6ljQLsgYMyEhu7/oDDS/OdYRsAYUPauc5OdwjHfl3YQd9mMrudA2UnNSca1yyYBDZi2HYjvnP1/7JPu9fNWL9/mRbMjj48dMP2+zesTMgG4EeeuZl4tbqFvsh2HCUHVt6kikcPxdHZRZZduE5hs6nLjlKeNbf97ghhcNVdi4NtRv9WM8ppI4XisXdgAXSMjG8Rn6JSnlq6AjD9fNojxl451Jeym0m/ZYRcOHY55MP7eZkQmIGBMiuuH9+3BLut5rF12YMCkcwc9pzyth/lHUWHWlvVgAAADR65L3aezi+q268hBMADg19LLXjfMghvDkYdg+HzaNiA5CYbndP73rLU2HLONSNfahmSGT+zS7chqHIR9Qc6C4Tkf1y6b6xYInHOMrMbBh5e9QYaOSqIKNUnNaTD+Q/gjqGkYWDlKrx87OQ4GAJxu2vfmPhgAwOgEVdGV4Zgdwxvd4NIlcN9biGDMfCq9fuys+sW73crIahyUXvYekL1exi4Wjv8LFIw3BPXbchf1XeX48LrfRLGCAQDns6OyYgZjxu0s/2Shcsw/KxglNh7z9JDCR+3m4C/+z6IWKsf8I+ciK3AwAAI1/d+/hWM+Y60nPSBhDgaOftauLO/7t3Co1z0bxZtriCUM1/a+fgsHMexVC4vCOff6Hgrw2uRGn7AiElR6+VgH5uFwmKxURyMMM8uDAgBimYiKBXVg3ud4rF1yumMRpnGgTpT/0EUIT4ncqnLJ3frMKJFfzKgqBTpOeRzCQARYan6ltxDLDhQBx2mPQhjpVOX8bC+xg1CXJohiknCIQBIOEUjCIQJJOEQgCYcIJOEQgSQcIpACMEl7EMJMCsBONzMR+SW7FRFIMdBNexDCTAoErXfZE/mhFCuZc4h3CBirf8svEg7xDgMP6qR7/Ty7V7YQ/yGigQIAJpbqIRYwu/NwMEk4xAKlMAuHguqmPBZhlsnhfXsWjjw8O01oRNwFFjukvXRGIozDuAV84ZBOqfA4KHUBXzhKihN/9JUw0tB7wtVbOA7v2wPpdwgmdLyvFz+VJZLqUXDu/rTjfb0QDqL3NyoVhXLjf1DAQjjmTzEaJj4kYQSC6vi/X3GyD+ft+SoinN7Ge59X+u2OTEyLiDvLP1l5miCDm3EPRRhluOr5uyvDIdWjWAiqserngScYS/UojHdzDU9gOOZlRo5ccs6BsoN+t/bShKByI/KBgW9eq3yVjU+k/vn5f9fM/KfWUQkTDCv91tqbBW68qOnf/demTE7zRym2Ny6zaYGT7vUzKZZ7o+cIE77Ou+Frhboc8vC+PWDg2+7DEqkjvjv60QrVBQ99rexRv9UE8d32oxIGGDr7/9hhF450IfV8xXJ4m00Tpdje9Hh2v41HK8uezi6qrktdyPPgsmSiFFth5hl+kW/BcHjfHijFVtTXiRQR7KjBALa8P8fsjfjLNq8VSeMvlR+trc7wi7xb8Zs94pv+3mUdIk6LT5iOaqdwABIQc+0WDEBDOAAJiHl2DwagKRyABMQQWx2VBNEWDkACkjKtwQA0302w0m93QPgDcm/TpGkPBqC5cnikUZaoWIIBxHQfUl+jTCpIvIZxBQOIqXJ4RlbjoPSy1wVwGuf7FNTQKU+tKJ+VRBVrOAAJSExiDwaQwO2tT7rXz055agG4ifu9CoH4LolgAAlUDr/H2mUHwHmS75kzN5V+y07qzRK9MX6l37LljLKtJRoMIOHK4ZFmWVR62uFRpfJIjdkfyl8gh7ohpBMMIKXK4ZFm2VoTgqqneRvQVMMBSEACxNb1jCL1JzUd3rcHTnl6DDlx2TN0oKppBwMwoHJ4pFkGIKHmVlipVw6PNMtwY1IwAIMqh18Bm2WJ9zDCMKZy+FX6LZsJX9MeRxKY8NXEYACGVg5P/ptl6fUwwjA6HADws3ZlMdxb5OtQdwKCve31JEkxPhxA7nohRvQwwjByzrHs8L49cKCqyH4vJNYzt3TLROXwZLwXYlQPI4xMVA5PhnshvawFA8hY5fDLUC/EyB5GGJmqHH4Z6YVkNhhAhiuHx9xeiNk9jDAyHw7AxF5I9oMB5CQcgDG9kNRP0NEps3OOZQb0QiZKsZWXYAA5CgcAnPS/P8wPdZMOSKaaW2HlKhxAKr2QoVOe5i4YQI7mHKsk0AvpOeVpPWvNrbByHQ4AGH++bBDjrxhWnekeRhi5DwcQSy8k98EAChIOQGcvJB89jDAKEw5ARy+kOMEAcni0ss4OvZAJQf1WpGAABascnojnhWTmzC3dClU5PBF6IcZcfZaGQlYOvzW9kMyduaVbISuH38rzQhK8tZLJCl85PL5eSCF6GGH8H2WNU29+inIcAAAAAElFTkSuQmCC
Run Code Online (Sandbox Code Playgroud)
它应该是真正的Base64字符串(我用这个网站转换)
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
Run Code Online (Sandbox Code Playgroud)
我的转换有什么问题?谢谢 !
以下是该消息 - 并且必须拒绝它,因为它违反了我们的设备和网络滥用政策以及开发者分发协议的第4.4节.如果您提交了更新,则之前版本的应用仍会在Google Play上发布.
以下是您提交应用以进行其他审核的方法:
修改您的应用以确保其不会以违反其服务条款的方式访问或使用服务或API; 例如,通过启用YouTube视频的背景播放.阅读设备和网络滥用政策,了解更多详细信息和示例.确保您的应用符合开发者计划政策中列出的所有其他政策.请注意,如果您的应用存在进一步的政策问题,可能会发生其他强制执行.登录开发者控制台并提交您的应用.
我的应用程序有一个按钮,可以直接从它打开WhatsApp,我也包括youtube网站.
请告诉我这是什么问题
这是我的网络请求示例
networkAPI.postData(myData).enqueue(new Callback<MyResponse>() {
@Override
public void onResponse(Call<MyResponse> call, Response<MyResponse> response) {
if (response.code() == 201) {
// success
}
}
@Override
public void onFailure(Call<MyResponse> call, Throwable t) {
}
});
Run Code Online (Sandbox Code Playgroud)
这是我应该只拨打一次的请求,因为我有一次可用的优惠券代码.如果我立即关闭我的网络连接或者在调用此方法后立即断开连接,那么它会移动到onFailure
带有IOException
throwable的方法,这通常是指连接错误,但重点是发布到服务器的数据和使用的凭证代码,问题是onFailure
方法在这里被称为.
我确信它不是解析失败,因此我也尝试使用它Void
.为什么onResponse
即使在发布数据后也没有调用.如何克服这种情况?
我添加了为什么我的问题在编辑部分中没有重复此问题,请查看..
我们在EditText中使用letterSpacing属性来定义字母之间的间距.
但是根据文档,这只是在API级别21或更高版本中引入,如果我们尝试在较低的API级别版本中使用它,它会直接显示渲染问题,如此图片所示.
在API级别20之前,是否有任何替代方法可以在EditText中使用letterSpacing?
编辑
它被标记为重复的问题,但我要通知的是android:textScaleX
属性和android:letterSpacing
属性是不同的.
让我们举一个例子,在EditText中添加这两个属性
添加的结果android:letterSpacing
是
这是我的字符串
String currentTokenNo = "/SUeSjUf0A0aLFr+wVIZbw==\nLmmWtgHZ90yH0NBoATYB/A"
Run Code Online (Sandbox Code Playgroud)
我已将此字符串添加到我JsonObject
的com.google.gson.JsonObject 包中
JsonObject jsonToSubmit = new JsonObject();
try {
jsonToSubmit.addProperty("token", currentTokenNo);
} catch (Exception e) {
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)
但是当我记录我的String
和JsonObject
Log.d("mainactivityjson", "Current Token No : "+currentTokenNo );
Log.d("mainactivityjson", "jsonToSubmit : "+jsonToSubmit);
Run Code Online (Sandbox Code Playgroud)
我找到了结果
D/mainactivityjson: Current Token No : "/SUeSjUf0A0aLFr+wVIZbw==\nLmmWtgHZ90yH0NBoATYB/A"
D/mainactivityjson: jsonToSubmit : {"token":"\"/SUeSjUf0A0aLFr+wVIZbw==\\nLmmWtgHZ90yH0NBoATYB/A\""}
Run Code Online (Sandbox Code Playgroud)
现在,我的问题是:
为什么这些引号和斜杠被添加到值JsonObject
?它有什么合适的理由吗?
它确实妨碍了在服务器端检查String值的过程.
我已经完成了一个临时的解决方案,通过从两侧修剪单个角色来完成任务,如下所示
jsonToSubmit.addProperty("token",currentTokenNo.substring(1,currentTokenNo.length()-1));
Run Code Online (Sandbox Code Playgroud)
这完美地运作但我不认为这对未来更好!
附加信息 :
变量currentTokenNo
不是如上所示直接声明的,它是从SharedPreferences
&检索到的.如果直接声明它,那么一切正常.
String currentTokenNo = preferences.getString(LOGINCRED_TOKEN,"");
Run Code Online (Sandbox Code Playgroud)
如果直接声明相同的变量,一切正常.
任何形式的帮助将不胜感激.
我有一个ArrayList
String,让我们说originalArrayList
一些值
final ArrayList<String> originalArrayList = new ArrayList<>();
originalArrayList.add("value1");
originalArrayList.add("value2");
originalArrayList.add("value3");
originalArrayList.add("value4");
originalArrayList.add("value5");
Run Code Online (Sandbox Code Playgroud)
我originalArrayList
在内部类中复制了它并删除了一些元素
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ArrayList<String> tempArrayList = originalArrayList;
tempArrayList.remove(0); //Remove an element
}
});
Run Code Online (Sandbox Code Playgroud)
但是,这是影响原来ArrayList
这是originalArrayList
在我的情况.
我怎样才能防止这种情况发生?
我已经阅读了很多帖子和论坛文章,但没有找到任何与我的要求相关的内容.很多新的Android设备都没有内置耳机插孔,我不需要处理这些设备.
通过PackageManger
我只能检测功能AUDIO_OUTPUT
.
有没有有效的方法可以检查设备中是否存在3.5毫米音频插孔?
第一次在这里问一个问题,并且是android编程的新手.我正在按照在线youtube教程创建用户"Tonikami TV"的登录.应用程序的一切都很好,除了它涉及到serverRequests类.我得到了NameValuePair
,HttpParams
等等已被弃用,据我所知,它已经过时且自API 22以来不受支持.我已经搜索了一些固定的或替代的但是不能真正理解它们以及如何将它们应用到我的代码中.任何帮助将不胜感激.谢谢 :)
@Override
protected Void doInBackground(Void... params) {
ArrayList<NameValuePair> dataToSend = new ArrayList<>();
dataToSend.add(new BasicNameValuePair("firstname", user.FirstName));
dataToSend.add(new BasicNameValuePair("lastname", user.LastName));
dataToSend.add(new BasicNameValuePair("age", user.Age + ""));
dataToSend.add(new BasicNameValuePair("emailaddress", user.EmailAddress));
dataToSend.add(new BasicNameValuePair("password", user.Password));
//possible alternative code found on stack overflow don't know exactly what to do from here.
ContentValues values= new ContentValues();
values.put("firstname", user.FirstName);
values.put("lastname", user.LastName);
values.put("age", user.Age + "");
values.put("emailaddress",user.EmailAddress);
values.put("password",user.Password);
//
HttpParams httpRequestParams = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(httpRequestParams, CONNECTION_TIMEOUT);
HttpConnectionParams.setSoTimeout(httpRequestParams, CONNECTION_TIMEOUT);
HttpClient client = new DefaultHttpClient(httpRequestParams); …
Run Code Online (Sandbox Code Playgroud) 首先,它不是这个问题的重复,因为我找不到任何有关离线文档,适当答案以及Xcode中未来更新版本的讨论.
实际上我来自android和java背景,目前也开始开发iOS应用程序.众所周知,我们可以通过按下IDE中Interface
给出的建议来轻松实现所有方法.Alt + Enter
在iOS中我们必须每次都看到引用并搜索所有必需和可选的方法,并逐个手动实现它们消耗时间它很好但是暂时没有
我的问题是:
android ×8
java ×3
ios ×2
audio ×1
base64 ×1
bitmap ×1
deprecated ×1
google-play ×1
iphone ×1
jsonobject ×1
licensing ×1
login ×1
methods ×1
protocols ×1
publish ×1
retrofit ×1
server ×1
size-classes ×1
string ×1
xcode ×1