Прежде всего, определите разрешение в файле манифеста.
В Java-файле
Вы должны запросить разрешение еще раз во время выполнения, используя checkSelfPermission
. Это совершенно необходимо, как если бы вы, пользователь, не дал разрешения, он не сможет получить доступ к камере. Вы должны написать этот код и все функции, связанные с камерой, когда вы хотите, чтобы камера действительно появилась.
Например, если есть кнопка, скажем Open Camera
, сначала проверьте разрешение, выдал пользователь или нет, а затем откройте камеру.
наблюдение его отмечено PHP:
также
string ucfirst ( string $str );
к прописной первой букве первого слова
или
string ucwords ( string $str );
к верхнему регистру первая буква каждого слова
Вы могли бы хотеть использовать тех, которые в сочетании с
string strtolower ( string $str );
нормализовать все имена к нижнему регистру сначала.
Знайте, что существуют другие форматы капитализации, такие как John McDoe, John D'Oe, John de O и John van den Doe.
Я не уверен, где и как Вы хотите отобразить его, но если это находится на веб-странице, Вы могли бы попытаться просто изменить дисплей с помощью CSS. Попытайтесь добавить:
text-transform:capitalize;
к соответствующему правилу, как это:
.name { text-transform:capitalize;}
если Вы ставите имя в отделении или промежутке с классом = "имя". Конечно, это ни в коем случае не изменит запись базы данных, но я не был ясен, который был предпочтителен.
Пример из php.net:
$bar = 'HELLO WORLD!';
$bar = ucfirst($bar); // HELLO WORLD!
$bar = ucfirst(strtolower($bar)); // Hello world!
Примите во внимание примечания о локалях хотя...
Объединение функций стенографии PHP strtolower и ucwords решает Вашу проблему:
function ucname($f, $l)
{
return ucwords(strtolower($f." ".$l));
}
echo ucname($fname, $lname);
На ноте стороны имейте в виду, что можно сделать такое украшение данных на многих различных этапах:
Измените имена, чтобы понизиться и затем добавить (-) к первой букве fname и lname.
Для простых имен это будет работать. Остерегайтесь особых случаев (как "Ronald McDonald" в ниже примера).
В SQL Server:
SELECT --step 2: combine broken parts into a final name
NAME_PARTS.FNAME_INITIAL + NAME_PARTS.REST_OF_FNAME AS FNAME
,NAME_PARTS.LNAME_INITIAL + NAME_PARTS.REST_OF_LNAME AS LNAME
FROM
( --step 1: break name into 1st letter and "everything else"
SELECT
UPPER(SUBSTRING(TEST.FNAME,1,1)) AS FNAME_INITIAL
,UPPER(SUBSTRING(TEST.LNAME,1,1)) AS LNAME_INITIAL
,LOWER(SUBSTRING(TEST.FNAME,2,LEN(TEST.FNAME))) AS REST_OF_FNAME
,LOWER(SUBSTRING(TEST.LNAME,2,LEN(TEST.LNAME))) AS REST_OF_LNAME
FROM
( --step 0: generate some test data
SELECT 'john' AS FNAME, 'doe' as LNAME
UNION SELECT 'SUZY', 'SMITH'
UNION SELECT 'bIlLy', 'BOb'
UNION SELECT 'RoNALD', 'McDonald'
UNION SELECT 'Edward', NULL
UNION SELECT NULL, 'Jones'
) TEST
) NAME_PARTS
В Oracle
SELECT --step 2: combine broken parts into a final name
NAME_PARTS.FNAME_INITIAL || NAME_PARTS.REST_OF_FNAME AS FNAME
,NAME_PARTS.LNAME_INITIAL || NAME_PARTS.REST_OF_LNAME AS LNAME
FROM
( --step 1: break name into 1st letter and "everything else"
SELECT
UPPER(SUBSTR(TEST.FNAME,1,1)) AS FNAME_INITIAL
,UPPER(SUBSTR(TEST.LNAME,1,1)) AS LNAME_INITIAL
,LOWER(SUBSTR(TEST.FNAME,2,LENGTH(TEST.FNAME))) AS REST_OF_FNAME
,LOWER(SUBSTR(TEST.LNAME,2,LENGTH(TEST.LNAME))) AS REST_OF_LNAME
FROM
( --step 0: generate some test data
SELECT 'john' AS FNAME, 'doe' as LNAME FROM DUAL
UNION SELECT 'SUZY', 'SMITH' FROM DUAL
UNION SELECT 'bIlLy', 'BOb' FROM DUAL
UNION SELECT 'RoNALD', 'McDonald' FROM DUAL
UNION SELECT 'Edward', NULL FROM DUAL
UNION SELECT NULL, 'Jones' FROM DUAL
) TEST
) NAME_PARTS