当前位置: 首页 > 科技观察

安卓VS鸿蒙第三方软件切换指南V2.0(上)

时间:2023-03-16 17:45:19 科技观察

更多内容请访问:与华为官方共建的鸿蒙技术社区https://harmonyos.51cto.com众所周知,安卓应用经过这么多年的发展,发展相对成熟稳定。鸿蒙OS作为后来者,兼容成熟的开发体系,将节省大量的推广和开发成本。但是在实际开发中,在代码层面还是存在很多细节上的差异,这会给初次开发者带来困扰。本手册旨在总结实际开发中接入第三方软件时的代码差异,以帮助开发者更好的开发运营。由于目前接触的开发类型有限,总结的内容会有所疏漏。我们将进一步发展完善和完善。欢迎关注我们和我们的专栏,以便您及时获取相关内容的更新。Message&Multithreading1.设置线程级别Android:android.os.Process.setThreadPriority(android.os.Process.THREAD_PRIORITY_XXXXX);鸿蒙:ProcessManager.setThreadPriority(Thread.xxx);2、判断是否是主线程Android:Looper。getMainLooper().getThread()==Thread.currentThread()鸿蒙:EventRunner.getMainEventRunner().isCurrentRunnerThread();3、取消任务操作Android:task.cancel(true);鸿蒙:task.revoke();Layout&Component1.显示一段时间的提示信息。安卓:ToastmakeText(Contextcontext,Stringmsg,intduration).show();鸿蒙:newToastDialog(Contextcontext).setText(Stringmsg).show();2、为右上图的Android控件设置它的左侧:1、代码中:DrawabledwLeft=getResources().getDrawable(R.mipmap.ic_launcher);dwLeft.setBounds(0,0,dwLeft.getMinimumWidth(),dwLeft.getMinimumHeight());View.setCompoundDrawables(dwLeft,null,null,null);2.布局中:android:drawableLeft="@mipmap/ic_launcher"android:drawableTop="@mipmap/ic_launcher"android:drawableRight="@mipmap/ic_launcher"android:drawableBottom="@mipmap/ic_launcher"鸿蒙:1.在代码:Resourceresource=context.getResourceManager().getResource(ResourceTable.Media_select);PixelMapElementelement=newPixelMapElement(resource);companent.setAroundElements(element,null,null,null);2。在布局中:ohos:element_left="media:icon"ohos:element_right="media:icon"ohos:elementright="media:icon"ohos:element_top="media:icon"ohos:element_bottom="media:icon"ohos:elementbottom="media:icon"3.设置控件的多态Android:1。在布局中设置控件:android:background="@drawable/bt_login"2.在xml中实现bt_login鸿蒙:ResourceselectResource=context.getResourceManager().getResource(ResourceTable.Media_select);ResourceemptyResource=context.getResourceManager().getResource(ResourceTable.Media_unselect);PixelMapElementselectElement=newPixelMapElement(selectResource);PixelMapElementemptyElement=newPixelMapElement(emptyResource);StateElementcheckElement=newStateElement();checkElement.addState(newint[]{ComponentState.COMPONENT_STATE_SELECTED},selectElement);checkElement.addState(newint[]{ComponentState.COMPONENT_STATE_EMPTY},emptyElement);component.setButtonElement(null);component.setAroundElements(checkElement,null,null,null);component.setSelected(true);4.scrollView滚动安卓:鸿蒙:5.组件隐藏Android:Invisible:android:visibility="invisible";Java代码:view.setVisibility(View.INVISIBLE);隐藏:android:visibility="gone";Java代码:view.setVisibility(View.GONE);鸿蒙:ohos:visibility="隐藏";comp.setVisibility(隐藏);ohos:visibility=“不可见”;comp.setVisibility(不可见)6。线性布局Android:LinearLayout鸿蒙:DirectionalLayout7.相对布局Android:RelativeLayout鸿蒙:DependentLayout8.框架布局Android:FrameLayout鸿蒙:StackLayout9.TabAndroid:TabLayout鸿蒙:TabList和Tab10。像素单元安卓:dp鸿蒙:vp11。控件对齐Android:Gravity.CENTER鸿蒙:LayoutAlignment.CENTER12。布局名称及用法Android:RelativeLayout相对布局LinearLayout线性布局鸿蒙:DependentLayout相对布局DirectionalLayout线性布局13.自定义布局Android:Viewinflate=inflate(getContext(),R.layout.reg_view,this);鸿蒙:component=LayoutScatter.getInstance(context).parse(com.istone.videocache.ResourceTable.Layout_ability_player,layout,false);layout.addComponent(component,0);14.Overlay布局,分层叠加Android:FrameLayouthongmeng:StackLayout更多内容请访问:Harmonyos.51cto.com,与华为官方共建的鸿蒙技术社区