Andrio studio 学习 之打包
2019-08-21 21:37
309 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Young_cloud/article/details/99999524
进行打包时的一些单词解释
Key store path : 签名文件路径 Password : 签名密码 Confirm : 确认密码 Alias : 别名 Validity ( years ) : 有限期 (年) First and Last Name : 全名 Organizational Unit : 组织单位 Organization : 组织 City or Locality : 城市或地方 State or Province : 州或省 Country Code(XX) : 国家代码
build中的内容
flavorDimensions "versionCode"//解决报错 productFlavors { Tencent {//投放应用宝市场 } Baidu { // manifestPlaceholders=[UMENG_CHANNEL_VALUE:"baidu"] } Wandoujia {//投放豌豆荚市场 } // Vivo {//投放vivo市场 // } // Oppo {//投放oppo市场 // } // Xiaomi {//投放小米市场 // } // Meizu {//投放魅族市场 // } // Huawei {//投放华为应用市场 // } // Lenovo {//投放联想市场 // } // Letv {//投放乐视市场 // } // Gionee {//投放金立市场 // } // HiMarket {//投放安卓市场 // } } //注意我注释掉的,可以去掉注释,那样的话,下面这句就可以不用了 productFlavors.all { flavor -> flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name] }
清单文件中添加的内容
<meta-data android:name="design_width" android:value="800"></meta-data> <meta-data android:name="design_height" android:value="1280"></meta-data>
获取屏幕宽高
PackageManager pm = getPackageManager(); //获取宽高 try { ActivityInfo info = pm.getActivityInfo(getComponentName(), PackageManager.GET_META_DATA); int width = info.metaData.getInt("design_width-1"); int height = info.metaData.getInt("design_height-1"); Log.i(TAG, "onCreate: 高"+height); Log.i(TAG, "onCreate: 宽"+width); } catch (PackageManager.NameNotFoundException e) { e.printStackTrace(); }
AutoLayout框架使用以及dp pxsp单位换算
依赖
implementation 'com.zhy:autolayout:1.4.3'
activity中的内容
public class MainActivity extends AutoLayoutActivity { ListView listView; List<JsonBean.DataBean> data = new ArrayList<>(); private static final String TAG = "MainActivity"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); listView = findViewById(R.id.listView); new Thread(new Runnable() { @Override public void run() { OkGo.<String>get("http://www.qubaobei.com/ios/cf/dish_list.php?stage_id=1&limit=10&page=1").execute(new StringCallback() { @Override public void onSuccess(Response<String> response) { String body = response.body(); Gson gson = new Gson(); JsonBean jsonBean = gson.fromJson(body, JsonBean.class); data = jsonBean.getData(); } }); } }).start(); MyAdapter myAdapter = new MyAdapter(); listView.setAdapter(myAdapter); myAdapter.notifyDataSetChanged(); // PackageInfo info = pm.getPackageArchiveInfo(getPackageName(), PackageManager.GET_CONFIGURATIONS); PackageManager pm = getPackageManager(); //获取宽高 try { ActivityInfo info = pm.getActivityInfo(getComponentName(), PackageManager.GET_META_DATA); int width = info.metaData.getInt("design_width-1"); int height = info.metaData.getInt("design_height-1"); Log.i(TAG, "onCreate: 高"+height); Log.i(TAG, "onCreate: 宽"+width); } catch (PackageManager.NameNotFoundException e) { e.printStackTrace(); } } public class MyAdapter extends BaseAdapter{ @Override public int getCount() { return data.size(); } @Override public Object getItem(int i) { return data.get(i); } @Override public long getItemId(int i) { return i; } @Override public View getView(int i, View view, ViewGroup viewGroup) { ViewHolder holder; if (view == null){ holder = new ViewHolder(); view = LayoutInflater.from(MainActivity.this).inflate(R.layout.item,null); holder.textView = view.findViewById(R.id.title_id); holder.imageView = view.findViewById(R.id.pic_ic); //设置分配律用在view上 AutoUtils.autoSize(view); }else { holder = (ViewHolder) view.getTag(); } holder.textView.setText(data.get(i).getTitle()); Glide.with(MainActivity.this).load(data.get(i).getPic()).into(holder.imageView); return view; } public class ViewHolder{ private TextView textView; private ImageView imageView; } } }
工具类
public class Utils { public static int px2dip(Context context,float pxValue){ //px转dp final float scale = context.getResources().getDisplayMetrics().density; return (int) (pxValue/scale+0.5f); } public static int dip2px(Context context,float dpValue){ //dp转px final float scale = context.getResources().getDisplayMetrics().density; return (int) (dpValue*scale+0.5f); } }
相关文章推荐
- android studio 打包发布签名后的apk文件时出现Error:Execution failed for task ':app:transformClassesAndResourcesWi
- AndroidStudio打包问题:signature versions:V1(Jar Signature) and V2(Full APK Signature) 的不同点
- studio混淆apk打包错误:app:transformClassesAndResourcesWithProguardForRelease'. > java.ioe异常
- 安卓Studio学习笔记---打包之前的混淆操作
- android studio 学习-如何打包apk
- Android Studio tips and tricks 翻译学习
- ArcGIS For Flex学习之Mapping---Select and zoom
- Android Studio setId 签名打包报错
- NI Measurement Studio 打包问题的解决(原创)
- Android Studio之Gradle多渠道打包
- 项目管理实践【五】自动编译和发布网站【Using Visual Studio with Source Control System to build and publish website automatically】
- [VS C++学习] Microsoft Visual Studio存储/读取数据的默认路径
- AndroidStudio多渠道打包
- studio 打包问题
- Unity资源打包学习笔记(一)、详解AssetBundle的流程
- NIO学习小结--Channel and Buffer
- NuGet学习笔记(2)——使用图形化界面打包自己的类库
- C Primer Plus 学习笔记——第四章 Charater Strings and Formatted Input/Output
- Silverlight 2学习教程(四):Chiron.exe:Silverlight 2打包和动态语言部署工具
- 斯坦福机器学习实验之3-多分类和神经网络(Multi-class Classification and Neural Networks)