Skip to content

内容提供者模块

数据结构

ESContentValues

内容信息

参数描述类型非空
stringstring类型的key, value类型为anyany

ESContentProviderInfo

内容信息

参数描述类型非空
result获取内容结果ESContentProviderResult
message消息string
data内容数据Array<ESContentValues>

ESContentProviderResult

获取内容结果

参数描述类型非空
ES_CONTENT_PROVIDER_RESULT_SUCCESS获取内容结果成功ESContentProviderResult
ES_CONTENT_PROVIDER_RESULT_ERROR获取内容结果失败ESContentProviderResult

接口

insert

该方法插入信息。

完整方法声明:function insert(uri: string, data: ESContentValues): Promise<ESContentProviderInfo>

  • 参数:
参数描述类型非空
uri地址string
data数据ESContentValues
  • 返回值:
属性描述类型默认值
结果Promise<ESContentProviderInfo>

query

该方法查询信息。

完整方法声明:function query(uri: string, projection?: Array<string>, selection?: string, selectionArgs?: Array<string>, sortOrder?: string, data?: ESContentValues): Promise<ESContentProviderInfo>

  • 参数:
参数描述类型非空
uriuristring
projectionprojectionArray<string>
selectionselectionstring
selectionArgsselectionArgsArray<string>
sortOrdersortOrderstring
dataESContentValuesESContentValues
  • 返回值:
属性描述类型默认值
结果Promise<ESContentProviderInfo>

update

该方法更新信息。

完整方法声明:function update(uri: string, data: ESContentValues, where: string, selectionArgs: Array<string>): Promise<ESContentProviderInfo>

  • 参数:
参数描述类型非空
uriuristring
dataESContentValuesESContentValues
wherewherestring
selectionArgsselectionArgsArray<string>
  • 返回值:
属性描述类型默认值
结果Promise<ESContentProviderInfo>

deleteData

该方法删除信息。

完整方法声明:function deleteData(uri: string, where: string, selectionArgs: Array<string>): Promise<ESContentProviderInfo>

  • 参数:
参数描述类型非空
uriuristring
wherewherestring
selectionArgsselectionArgsArray<string>
  • 返回值:
属性描述类型默认值
结果Promise<ESContentProviderInfo>

基础用法

  • 代码示例:
    点击查看源码
    vue
    <template>
    	<div class='es-sdk-root-css'>
    		<s-title-view class='es-sdk-content-title-css' :text='this.$options.name' />
    		<div class='es-sdk-content-divider-css' />
    		<div class='es-sdk-content-column-css'>
    			<s-text-view :text="'当前数据:' + currentData"></s-text-view>
    			<div class='es-sdk-content-row-css'>
    				<s-text-button text='插入数据' @onButtonClicked='insertData' />
    				<s-text-button text='查询数据' @onButtonClicked='queryData' />
    				<s-text-button text='更新数据' @onButtonClicked='updateData' />
    				<s-text-button text='删除数据' @onButtonClicked='deleteData' />
    			</div>
    			<!--      <es-test-view-->
    			<!--          class="es-test-view-css"-->
    			<!--          ref="testView">-->
    			<!--      </es-test-view>-->
    			<!--      <es-test-group-->
    			<!--          class="es-test-view-css">-->
    
    			<!--      </es-test-group>-->
    			<!--      <es-testA-view-->
    			<!--          class="es-test-view-css">-->
    
    			<!--      </es-testA-view>-->
    		</div>
    	</div>
    </template>
    
    <script lang='ts'>
    
    import {defineComponent} from '@vue/runtime-core';
    import {ref} from 'vue';
    import {useESToast} from '@extscreen/es3-core';
    import error from '../../views/error.vue';
    import {createESContentProviderModule} from '@extscreen/es3-content-provider';
    import {createESContentProvider} from '../../../packages/ESCore/src/provider/ESContentProvider';
    
    export default defineComponent({
    	name: 'ContentProvider模块',
    	setup() {
    		const testView = ref();
    		const provider = createESContentProviderModule();
    		const toast = useESToast();
    		const currentData = ref('');
    		const uri = 'content://com.extscreen.mytest4.UserContentProvider.provider/user';
    		const uri2 = 'content://com.android.contacts/data/phones';
    		const uri3 = 'content://stbauthinfo/authentication/user_token';
    		const insertDatas = {
    			uid: 4,
    			first_name: 'yuyuyu',
    			age: 50,
    			money: 453.143,
    		};
    		const queryDatas = {
    			uid: 0,
    			first_name: '1',
    			age: 0,
    			money: 0.00,
    		};
    		const emptyData = {
    			display_name: '0',
    			data1: '0',
    		};
    
    		const onESCreate = (params) => {
    
    		};
    
    		function insertData() {
    			provider.insert(uri, insertDatas).then(
    				value => {
    					let result = value.result;
    					let message = value.message;
    					toast.showToast('插入结果:' + result + '---message:' + message);
    				},
    				error => {
    
    				},
    			);
    			// testView.value?.showPlaceHolder(true)
    		}
    
    		function queryData() {
    			provider.query(uri).then(
    				value => {
    					let result = value.result;
    					let message = value.message;
    					let data = value.data;
    					toast.showToast('查询结果:' + result + '----message:' + message);
    					currentData.value = JSON.stringify(data);
    				},
    				error => {
    
    				},
    			);
    		}
    
    		function updateData() {
    
    		}
    
    		function deleteData() {
    
    		}
    
    		const onESDestroy = () => {
    
    		};
    
    		return {
    			onESCreate,
    			onESDestroy,
    			currentData,
    			insertData,
    			queryData,
    			updateData,
    			deleteData,
    			testView,
    		};
    	},
    });
    
    </script>
    <style>
    
    .es-test-view-css {
    	width: 200px;
    	height: 200px;
    }
    </style>