我正在尝试在ContactsContract中创建一个用户配置文件...因为没有一个,我需要一个用于测试.我没有真实的Android设备,只有AVD模拟器进行测试.
这是我正在使用的代码块:
ArrayList<ContentProviderOperation> ops = new ArrayList<ContentProviderOperation>();
ops.add(ContentProviderOperation.newInsert(RawContacts.CONTENT_URI)
.withValue(RawContacts.ACCOUNT_TYPE, null)
.withValue(RawContacts.ACCOUNT_NAME, null)
.build());
ops.add(ContentProviderOperation.newInsert(Data.CONTENT_URI)
.withValueBackReference(Data.RAW_CONTACT_ID, 0)
.withValue(Data.MIMETYPE, Profile.CONTENT_RAW_CONTACTS_URI)
.withValue(Profile.IS_USER_PROFILE, 1)
.build());
ops.add(ContentProviderOperation.newInsert(Data.CONTENT_URI)
.withValueBackReference(Data.RAW_CONTACT_ID, 0)
.withValue(Data.MIMETYPE, StructuredName.CONTENT_ITEM_TYPE)
.withValue(StructuredName.DISPLAY_NAME, name)
.build());
this.getContentResolver().applyBatch(ContactsContract.AUTHORITY, ops);
Run Code Online (Sandbox Code Playgroud)
如果删除用于使此条目成为用户配置文件的行,则它可以正常工作(即,将插入名称).但是,我无法弄清楚如何使用IS_USER_PROFILE标志设置条目.
您可以从应用程序创建用户配置文件吗?如果是这样,任何关于为什么这不起作用的想法?
非常感谢!斯科特
我正在学习Java servlet,我为"GET"和"POST"编写了两个单独的servlet.当向服务器发送"GET"请求时,servlet访问数据库并检索所有内容并将结果转换为Google Charts可识别的格式.当向服务器发送"POST"请求时,servlet获取参数并将它们添加到Java对象,然后DAO将数据添加到数据库.但是,当我在输入后点击"添加"按钮时,Web应用程序根本找不到servlet.它只是"跳过"ajax函数并继续.所以这是插入的servlet:
@WebServlet("/InsertServlet")
public class InsertServlet extends HttpServlet
{
private static final long serialVersionUID = 1L;
private EmployeeDao dao;
public InsertServlet() throws SQLException
{
super();
dao = new EmployeeDao();
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
System.out.println("doPost");
Employee e = new Employee();
e.setName(request.getParameter("name"));
e.setSSN(request.getParameter("ssn"));
e.setDob(request.getParameter("birth"));
e.setIncome(request.getParameter("xxxx"));
dao.addEmployee(e);
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
out.println("<h2>Data Entry Added</h2><br>");
out.println("<h2>"+request.getParameter("name")+"</h2>");
out.println("<h2>"+request.getParameter("ssn")+"</h2>");
out.println("<h2>"+request.getParameter("birth")+"</h2>");
out.println("<h2>"+request.getParameter("xxxx")+"</h2>");
out.flush();
out.close();
}
}
Run Code Online (Sandbox Code Playgroud)
这是index.html:
<form id="inputForm">
<table style="width:80%;border:3px;">
<tr>
<td align="center"><input type="text" name="name" id="name" placeholder="First …Run Code Online (Sandbox Code Playgroud)