孟小梦 發表於 2023-7-15 00:00:00

鸿蒙轻量级数据库 DatabaseHelper基本用法

<p>
        <img title="鸿蒙轻量级数据库 DatabaseHelper基本用法" alt="鸿蒙轻量级数据库 DatabaseHelper基本用法" border="0" height="auto" src="https://zhuji.jb51.net/uploads/img/202305/cd23bbebc870c7bd1f64d7f94dbb7874.jpg" width="auto"></p>
<h3>
        前言:</h3>
<p>
        各位同学大家好有段时间没有给大家更新文章,具体多久我也不记得,最近在学习鸿蒙开发写了一些小demo 就想着分享给家 今天要讲的是 ListContainer 鸿蒙OS开发中的 列表组件</p>
<h3>
        效果图:</h3>
<center>
        <img title="鸿蒙轻量级数据库 DatabaseHelper基本用法" alt="鸿蒙轻量级数据库 DatabaseHelper基本用法" src="https://zhuji.jb51.net/uploads/img/202305/bd95d819660ddd98b976cdfadbda02fa.jpg">
</center>
<center>
        <img title="鸿蒙轻量级数据库 DatabaseHelper基本用法" alt="鸿蒙轻量级数据库 DatabaseHelper基本用法" src="https://zhuji.jb51.net/uploads/img/202305/9e6bb165f7fe4318d232ec18e8e111fa.jpg">
</center>
<center>
        <img title="鸿蒙轻量级数据库 DatabaseHelper基本用法" alt="鸿蒙轻量级数据库 DatabaseHelper基本用法" src="https://zhuji.jb51.net/uploads/img/202305/9410c4c152ac236fbcf6bb5fd91ed83f.jpg">
</center>
<h3>
        具体实现:</h3>
<p>
        ListContainer是用来呈现连续、多行数据的组件,包含一系列相同类型的列表项。</p>
<p>
        ListContainer的使用方法</p>
<p>
        1.在layout目录下的xml文件中创建ListContainer。<!--?xml version="1.0" encoding="utf-8"?--></p>
<ol class="dp-sql">
<li class="alt">
                <span><span>&lt;?xml version=</span><span class="string">"1.0"</span><span> encoding=</span><span class="string">"utf-8"</span><span>?&gt; </span></span>
</li>
        <li>
                <span>&lt;DirectionalLayout </span>
</li>
        <li class="alt">
                <span>    xmlns:ohos=<span class="string">"http://schemas.huawei.com/res/ohos"</span><span> </span></span>
</li>
        <li>
                <span>    ohos:height=<span class="string">"match_parent"</span><span> </span></span>
</li>
        <li class="alt">
                <span>    ohos:width=<span class="string">"match_parent"</span><span> </span></span>
</li>
        <li>
                <span>    ohos:orientation=<span class="string">"vertical"</span><span>&gt; </span></span>
</li>
        <li class="alt">
                <span>    &lt;ListContainer </span>
</li>
        <li>
                <span>        ohos:id=<span class="string">"$+id:list_container"</span><span> </span></span>
</li>
        <li class="alt">
                <span>        ohos:height=<span class="string">"match_parent"</span><span> </span></span>
</li>
        <li>
                <span>        ohos:width=<span class="string">"match_parent"</span><span> </span></span>
</li>
        <li class="alt">
                <span>        ohos:layout_alignment=<span class="string">"horizontal_center"</span><span>/&gt; </span></span>
</li>
        <li>
                <span>&lt;/DirectionalLayout&gt; </span>
</li>
</ol>
<p>
        2.在layout目录下新建xml文件(例:item_sample.xml),作为ListContainer的子布局<!--?xml version="1.0" encoding="utf-8"?--></p>
<ol class="dp-sql">
<li class="alt">
                <span><span>&lt;?xml version=</span><span class="string">"1.0"</span><span> encoding=</span><span class="string">"utf-8"</span><span>?&gt; </span></span>
</li>
        <li>
                <span>&lt;DirectionalLayout </span>
</li>
        <li class="alt">
                <span>    xmlns:ohos=<span class="string">"http://schemas.huawei.com/res/ohos"</span><span> </span></span>
</li>
        <li>
                <span>    ohos:height=<span class="string">"match_content"</span><span> </span></span>
</li>
        <li class="alt">
                <span>    ohos:width=<span class="string">"match_parent"</span><span> </span></span>
</li>
        <li>
                <span>    ohos:left_margin=<span class="string">"16vp"</span><span> </span></span>
</li>
        <li class="alt">
                <span>    ohos:right_margin=<span class="string">"16vp"</span><span> </span></span>
</li>
        <li>
                <span>    ohos:orientation=<span class="string">"vertical"</span><span>&gt; </span></span>
</li>
        <li class="alt">
                <span>    &lt;Text </span>
</li>
        <li>
                <span>        ohos:id=<span class="string">"$+id:item_index"</span><span> </span></span>
</li>
        <li class="alt">
                <span>        ohos:height=<span class="string">"match_content"</span><span> </span></span>
</li>
        <li>
                <span>        ohos:width=<span class="string">"match_content"</span><span> </span></span>
</li>
        <li class="alt">
                <span>        ohos:padding=<span class="string">"4vp"</span><span> </span></span>
</li>
        <li>
                <span>        ohos:text=<span class="string">"Item0"</span><span> </span></span>
</li>
        <li class="alt">
                <span>        ohos:text_size=<span class="string">"20fp"</span><span> </span></span>
</li>
        <li>
                <span>        ohos:layout_alignment=<span class="string">"center"</span><span>/&gt; </span></span>
</li>
        <li class="alt">
                <span>&lt;/DirectionalLayout&gt; </span>
</li>
</ol>
<p>
        3.创建SampleItem.java,作为ListContainer的数据包装类。</p>
<ol class="dp-sql">
<li class="alt">
                <span><span class="keyword">public</span><span> class SampleItem { </span></span>
</li>
        <li>
                <span>    private String <span class="keyword">name</span><span>; </span></span>
</li>
        <li class="alt">
                <span>    <span class="keyword">public</span><span> SampleItem(String </span><span class="keyword">name</span><span>) { </span></span>
</li>
        <li>
                <span>        this.<span class="keyword">name</span><span> = </span><span class="keyword">name</span><span>; </span></span>
</li>
        <li class="alt">
                <span>    } </span>
</li>
        <li>
                <span>    <span class="keyword">public</span><span> String getName() { </span></span>
</li>
        <li class="alt">
                <span>        <span class="keyword">return</span><span> </span><span class="keyword">name</span><span>; </span></span>
</li>
        <li>
                <span>    } </span>
</li>
        <li class="alt">
                <span>    <span class="keyword">public</span><span> void setName(String </span><span class="keyword">name</span><span>) { </span></span>
</li>
        <li>
                <span>        this.<span class="keyword">name</span><span> = </span><span class="keyword">name</span><span>; </span></span>
</li>
        <li class="alt">
                <span>    } </span>
</li>
        <li>
                <span>} </span>
</li>
</ol>
<p>
        4.ListContainer每一行可以为不同的数据,因此需要适配不同的数据结构,使其都能添加ListContainer上。创建SampleItemProvider.java,继承自RecycleItemProvider。必须重写的方法如下:</p>
<center>
        <img title="鸿蒙轻量级数据库 DatabaseHelper基本用法" alt="鸿蒙轻量级数据库 DatabaseHelper基本用法" src="https://zhuji.jb51.net/uploads/img/202305/ac56b6388ff9f8fec84d959ecb3b4b18.jpg">
</center>
<p>
        代码示例如下:</p>
<ol class="dp-sql">
<li class="alt">
                <span><span>package com.example.listview; </span></span>
</li>
        <li>
                <span>import ohos.agp.components.*; </span>
</li>
        <li class="alt">
                <span>import java.util.List; </span>
</li>
        <li>
                <span>/** </span>
</li>
        <li class="alt">
                <span> * 创建人:xuqing </span>
</li>
        <li>
                <span> * 创建时间:2020年12月18日13:37:27 </span>
</li>
        <li class="alt">
                <span> * 类说明: 适配器 </span>
</li>
        <li>
                <span> *  </span>
</li>
        <li class="alt">
                <span> *  </span>
</li>
        <li>
                <span> *  </span>
</li>
        <li class="alt">
                <span> */ </span>
</li>
        <li>
                <span><span class="keyword">public</span><span> class SampleItemProvider extends RecycleItemProvider { </span></span>
</li>
        <li class="alt">
                <span>    private List&lt;SampleItem&gt; list; </span>
</li>
        <li>
                <span>    private MainAbility slice; </span>
</li>
        <li class="alt">
                <span>    <span class="keyword">public</span><span> SampleItemProvider(List&lt;SampleItem&gt; list, MainAbility slice) { </span></span>
</li>
        <li>
                <span>        this.list = list; </span>
</li>
        <li class="alt">
                <span>        this.slice = slice; </span>
</li>
        <li>
                <span>    } </span>
</li>
        <li class="alt">
                <span>    @Override </span>
</li>
        <li>
                <span>    <span class="keyword">public</span><span> </span><span class="keyword">int</span><span> getCount() { </span></span>
</li>
        <li class="alt">
                <span>        <span class="keyword">return</span><span> list.</span><span class="keyword">size</span><span>(); </span></span>
</li>
        <li>
                <span>    } </span>
</li>
        <li class="alt">
                <span>    @Override </span>
</li>
        <li>
                <span>    <span class="keyword">public</span><span> Object getItem(</span><span class="keyword">int</span><span> position) { </span></span>
</li>
        <li class="alt">
                <span>        <span class="keyword">return</span><span> list.get(position); </span></span>
</li>
        <li>
                <span>    } </span>
</li>
        <li class="alt">
                <span>    @Override </span>
</li>
        <li>
                <span>    <span class="keyword">public</span><span> long getItemId(</span><span class="keyword">int</span><span> position) { </span></span>
</li>
        <li class="alt">
                <span>        <span class="keyword">return</span><span> position; </span></span>
</li>
        <li>
                <span>    } </span>
</li>
        <li class="alt">
                <span>    @Override </span>
</li>
        <li>
                <span>    <span class="keyword">public</span><span> Component getComponent(</span><span class="keyword">int</span><span> position, Component convertComponent, ComponentContainer componentContainer) { </span></span>
</li>
        <li class="alt">
                <span>        if (convertComponent== <span class="op">null</span><span>) { </span></span>
</li>
        <li>
                <span>            Component cpt = LayoutScatter.getInstance(slice).parse(ResourceTable.Layout_item_sample,<span class="op">null</span><span>,</span><span class="keyword">false</span><span>); </span></span>
</li>
        <li class="alt">
                <span>            SampleItem sampleItem = list.get(position); </span>
</li>
        <li>
                <span>            Text text = (Text) cpt.findComponentById(ResourceTable.Id_item_index); </span>
</li>
        <li class="alt">
                <span>            text.setText(sampleItem.getName()); </span>
</li>
        <li>
                <span>            <span class="keyword">return</span><span> cpt; </span></span>
</li>
        <li class="alt">
                <span>        } <span class="keyword">else</span><span> { </span></span>
</li>
        <li>
                <span>            <span class="keyword">return</span><span> convertComponent; </span></span>
</li>
        <li class="alt">
                <span>        } </span>
</li>
        <li>
                <span>    } </span>
</li>
        <li class="alt">
                <span>} </span>
</li>
</ol>
<p>
        5.在Java代码中添加ListContainer的数据,并适配其数据结构。</p>
<ol class="dp-sql">
<li class="alt">
                <span><span>@Override </span></span>
</li>
        <li>
                <span>   <span class="keyword">public</span><span> void onStart(Intent intent) { </span></span>
</li>
        <li class="alt">
                <span>       super.onStart(intent); </span>
</li>
        <li>
                <span>       super.setUIContent(ResourceTable.Layout_ability_main); </span>
</li>
        <li class="alt">
                <span>       initListContainer(); </span>
</li>
        <li>
                <span>   } </span>
</li>
        <li class="alt">
                <span>   private void initListContainer() { </span>
</li>
        <li>
                <span>       ListContainer listContainer = (ListContainer) findComponentById(ResourceTable.Id_list_container); </span>
</li>
        <li class="alt">
                <span>       List&lt;SampleItem&gt; list = getData(); </span>
</li>
        <li>
                <span>       SampleItemProvider sampleItemProvider = new SampleItemProvider(list,this); </span>
</li>
        <li class="alt">
                <span>       listContainer.setItemProvider(sampleItemProvider); </span>
</li>
        <li>
                <span> </span>
</li>
        <li class="alt">
                <span>       listContainer.setItemClickedListener(new ListContainer.ItemClickedListener() { </span>
</li>
        <li>
                <span>           @Override </span>
</li>
        <li class="alt">
                <span>           <span class="keyword">public</span><span> void onItemClicked(ListContainer listContainer, Component component, </span><span class="keyword">int</span><span> i, long l) { </span></span>
</li>
        <li>
                <span>               SampleItem item = (SampleItem) listContainer.getItemProvider().getItem(i); </span>
</li>
        <li class="alt">
                <span>               new ToastDialog(MainAbility.this) </span>
</li>
        <li>
                <span>                       .setText(<span class="string">"你点点击是:"</span><span>+item.getName()) </span></span>
</li>
        <li class="alt">
                <span>                       // Toast显示在界面中间 </span>
</li>
        <li>
                <span>                       .setAlignment(LayoutAlignment.BOTTOM) </span>
</li>
        <li class="alt">
                <span>                       .show(); </span>
</li>
        <li>
                <span>           } </span>
</li>
        <li class="alt">
                <span>       }); </span>
</li>
        <li>
                <span> </span>
</li>
        <li class="alt">
                <span>       listContainer.setItemLongClickedListener(new ListContainer.ItemLongClickedListener() { </span>
</li>
        <li>
                <span>           @Override </span>
</li>
        <li class="alt">
                <span>           <span class="keyword">public</span><span> boolean onItemLongClicked(ListContainer listContainer, Component component, </span><span class="keyword">int</span><span> i, long l) { </span></span>
</li>
        <li>
                <span>               SampleItem item = (SampleItem) listContainer.getItemProvider().getItem(i); </span>
</li>
        <li class="alt">
                <span>               new ToastDialog(MainAbility.this) </span>
</li>
        <li>
                <span>                       .setText(<span class="string">"长按事件点击:"</span><span>+item.getName()) </span></span>
</li>
        <li class="alt">
                <span>                       // Toast显示在界面中间 </span>
</li>
        <li>
                <span>                       .setAlignment(LayoutAlignment.BOTTOM) </span>
</li>
        <li class="alt">
                <span>                       .show(); </span>
</li>
        <li>
                <span>               <span class="keyword">return</span><span> </span><span class="keyword">false</span><span>; </span></span>
</li>
        <li class="alt">
                <span>           } </span>
</li>
        <li>
                <span>       }); </span>
</li>
        <li class="alt">
                <span> </span>
</li>
        <li>
                <span>   } </span>
</li>
        <li class="alt">
                <span> private ArrayList&lt;SampleItem&gt; getData() { </span>
</li>
        <li>
                <span>       ArrayList&lt;SampleItem&gt; list = new ArrayList&lt;&gt;(); </span>
</li>
        <li class="alt">
                <span>       <span class="keyword">for</span><span> (</span><span class="keyword">int</span><span> i = 0; i &lt;= 10; i++) { </span></span>
</li>
        <li>
                <span>           list.<span class="keyword">add</span><span>(new SampleItem(</span><span class="string">"item"</span><span>+i)); </span></span>
</li>
        <li class="alt">
                <span>       } </span>
</li>
        <li>
                <span>       <span class="keyword">return</span><span> list; </span></span>
</li>
        <li class="alt">
                <span>   } </span>
</li>
</ol>
<p>
        假数据</p>
<ol class="dp-sql">
<li class="alt">
                <span><span>private ArrayList&lt;SampleItem&gt; getData() { </span></span>
</li>
        <li>
                <span>      ArrayList&lt;SampleItem&gt; list = new ArrayList&lt;&gt;(); </span>
</li>
        <li class="alt">
                <span>      <span class="keyword">for</span><span> (</span><span class="keyword">int</span><span> i = 0; i &lt;= 10; i++) { </span></span>
</li>
        <li>
                <span>          list.<span class="keyword">add</span><span>(new SampleItem(</span><span class="string">"item"</span><span>+i)); </span></span>
</li>
        <li class="alt">
                <span>      } </span>
</li>
        <li>
                <span>      <span class="keyword">return</span><span> list; </span></span>
</li>
        <li class="alt">
                <span>  } </span>
</li>
</ol>
<p>
        显示效果:</p>
<center>
        <img title="鸿蒙轻量级数据库 DatabaseHelper基本用法" alt="鸿蒙轻量级数据库 DatabaseHelper基本用法" src="https://zhuji.jb51.net/uploads/img/202305/bd95d819660ddd98b976cdfadbda02fa.jpg">
</center>
<h3>
        ListContainer的常用设置</h3>
<p>
        item 子布局 的点击事件</p>
<ol class="dp-sql">
<li class="alt">
                <span><span>listContainer.setItemClickedListener(new ListContainer.ItemClickedListener() { </span></span>
</li>
        <li>
                <span>          @Override </span>
</li>
        <li class="alt">
                <span>          <span class="keyword">public</span><span> void onItemClicked(ListContainer listContainer, Component component, </span><span class="keyword">int</span><span> i, long l) { </span></span>
</li>
        <li>
                <span>              SampleItem item = (SampleItem) listContainer.getItemProvider().getItem(i); </span>
</li>
        <li class="alt">
                <span>              new ToastDialog(MainAbility.this) </span>
</li>
        <li>
                <span>                      .setText(<span class="string">"你点点击是:"</span><span>+item.getName()) </span></span>
</li>
        <li class="alt">
                <span>                      // Toast显示在界面中间 </span>
</li>
        <li>
                <span>                      .setAlignment(LayoutAlignment.BOTTOM) </span>
</li>
        <li class="alt">
                <span>                      .show(); </span>
</li>
        <li>
                <span>          } </span>
</li>
        <li class="alt">
                <span>      }); </span>
</li>
</ol>
<p>
        效果如下</p>
<center>
        <img title="鸿蒙轻量级数据库 DatabaseHelper基本用法" alt="鸿蒙轻量级数据库 DatabaseHelper基本用法" src="https://zhuji.jb51.net/uploads/img/202305/9e6bb165f7fe4318d232ec18e8e111fa.jpg">
</center>
<p>
        item 子布局 的长按事件</p>
<ol class="dp-sql">
<li class="alt">
                <span><span>listContainer.setItemLongClickedListener(new ListContainer.ItemLongClickedListener() { </span></span>
</li>
        <li>
                <span>          @Override </span>
</li>
        <li class="alt">
                <span>          <span class="keyword">public</span><span> boolean onItemLongClicked(ListContainer listContainer, Component component, </span><span class="keyword">int</span><span> i, long l) { </span></span>
</li>
        <li>
                <span>              SampleItem item = (SampleItem) listContainer.getItemProvider().getItem(i); </span>
</li>
        <li class="alt">
                <span>              new ToastDialog(MainAbility.this) </span>
</li>
        <li>
                <span>                      .setText(<span class="string">"长按事件点击:"</span><span>+item.getName()) </span></span>
</li>
        <li class="alt">
                <span>                      // Toast显示在界面中间 </span>
</li>
        <li>
                <span>                      .setAlignment(LayoutAlignment.BOTTOM) </span>
</li>
        <li class="alt">
                <span>                      .show(); </span>
</li>
        <li>
                <span>              <span class="keyword">return</span><span> </span><span class="keyword">false</span><span>; </span></span>
</li>
        <li class="alt">
                <span>          } </span>
</li>
        <li>
                <span>      }); </span>
</li>
</ol>
<p>
        效果如下</p>
<center>
        <img title="鸿蒙轻量级数据库 DatabaseHelper基本用法" alt="鸿蒙轻量级数据库 DatabaseHelper基本用法" src="https://zhuji.jb51.net/uploads/img/202305/9410c4c152ac236fbcf6bb5fd91ed83f.jpg">
</center>
<p>
        ListContainer的样式设置</p>
<p>
        表2 ListContainer的样式设置</p>
<center>
        <img title="鸿蒙轻量级数据库 DatabaseHelper基本用法" alt="鸿蒙轻量级数据库 DatabaseHelper基本用法" src="https://zhuji.jb51.net/uploads/img/202305/736b2d1dbe439ee7cbf58a83c2d54a61.jpg">
</center>
<p>
        设置ListContainer的布局方向:orientation设置为“horizontal”,表示横向布局;orientation设置为“vertical”,表示纵向布局。默认为纵向布局</p>
<p>
        在xml中设置:</p>
<ol class="dp-sql">
<li class="alt">
                <span><span>&lt;ListContainer    ...    ohos:orientation=</span><span class="string">"horizontal"</span><span>/&gt; </span></span>
</li>
</ol>
<p>
        在Java代码中设置</p>
<ol class="dp-sql">
<li class="alt">
                <span><span>listContainer.setOrientation(Component.HORIZONTAL); </span></span>
</li>
</ol>
<p>
        横向滑动效果如图</p>
<center>
        <img title="鸿蒙轻量级数据库 DatabaseHelper基本用法" alt="鸿蒙轻量级数据库 DatabaseHelper基本用法" src="https://zhuji.jb51.net/uploads/img/202305/743bcbf886d7a2d1be124adc5d91ef2e.jpg">
</center>
<p>
        设置ListContainer的开始和结束偏移量</p>
<ol class="dp-sql">
<li class="alt">
                <span><span>listContainer.setContentOffSet(32,16); </span></span>
</li>
</ol>
<p>
        为了便于观察,分别在子布局和ListContainer布局中添加背景色:</p>
<p>
        在item_sample.xml的根布局中添加背景色。</p>
<p>
        <directionallayout ohos:background_element="#FAEBD7"></directionallayout></p>
<ol class="dp-sql">
<li class="alt">
                <span><span>&lt;DirectionalLayout    ...    ohos:background_element=</span><span class="string">"#FAEBD7"</span><span>&gt;    ...&lt;/DirectionalLayout&gt; </span></span>
</li>
</ol>
<p>
        在ListContainer布局文件中添加背景色。</p>
<ol class="dp-sql">
<li class="alt">
                <span><span>&lt;ListContainer    ...    ohos:background_element=</span><span class="string">"#FFDEAD"</span><span>/&gt; </span></span>
</li>
</ol>
<p>
        设置列表容器的开始偏移量为32,结束偏移量为16效果</p>
<center>
        <img title="鸿蒙轻量级数据库 DatabaseHelper基本用法" alt="鸿蒙轻量级数据库 DatabaseHelper基本用法" src="https://zhuji.jb51.net/uploads/img/202305/c96bf29d5ac8121b21a8b1adc226aca3.jpg">
</center>
<p>
        设置回弹效果。</p>
<p>
        在xml中设置:</p>
<ol class="dp-sql">
<li class="alt">
                <span><span>&lt;ListContainer    ...    ohos:rebound_effect=</span><span class="string">"true"</span><span>/&gt; </span></span>
</li>
</ol>
<p>
        在Java代码中设置</p>
<ol class="dp-sql">
<li class="alt">
                <span><span>listContainer.setReboundEffect(</span><span class="keyword">true</span><span>); </span></span>
</li>
</ol>
<center>
        <img title="鸿蒙轻量级数据库 DatabaseHelper基本用法" alt="鸿蒙轻量级数据库 DatabaseHelper基本用法" src="https://zhuji.jb51.net/uploads/img/202305/648f8c458c46d2b86d31e0b9f278bfe4.jpg">
</center>
<p>
        在开启回弹效果后,可以调用setReboundEffectParams()方法调整回弹效果。</p>
<ol class="dp-sql">
<li class="alt">
                <span><span>listContainer.setReboundEffectParams(40,0.6f,20); </span></span>
</li>
</ol>
<p>
        设置着色器颜色。</p>
<p>
        在xml中设置:</p>
<ol class="dp-sql">
<li class="alt">
                <span><span>&lt;ListContainer    ...    ohos:shader_color=</span><span class="string">"#90EE90"</span><span>/&gt; </span></span>
</li>
</ol>
<p>
        在Java代码中设置:</p>
<ol class="dp-sql">
<li class="alt">
                <span><span>listContainer.setShaderColor(new Color(Color.getIntColor(</span><span class="string">"#90EE90"</span><span>))); </span></span>
</li>
</ol>
<p>
        效果如下图</p>
<center>
        <img title="鸿蒙轻量级数据库 DatabaseHelper基本用法" alt="鸿蒙轻量级数据库 DatabaseHelper基本用法" src="https://zhuji.jb51.net/uploads/img/202305/511bc7142dfed001da4ed078323a3bf4.jpg">
</center>
<p>
        到此鸿蒙os 列表组件 ListContainer 基础知识就讲完了</p>
<h3>
        最后总结</h3>
<p>
        鸿蒙 os ListContainer 列表组件基本用法和Android原生的lsitview 比较像 但是比起原生安卓的listview 更加强大 原生android 并不直接支持横向滑动 以及直接支持回弹效果 ListContainer 基本用法对于安卓程序员来说比较好上手 看一下api 学习下本就能灵活运用了 以上就是我个人在学习了2天的鸿蒙os开发 ListContainer 基础总结</p>
<p>
        原文链接:https://harmonyos.51cto.com</p>
頁: [1]
查看完整版本: 鸿蒙轻量级数据库 DatabaseHelper基本用法